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 Ubuntu/Tekst 0 30845 437364 414765 2022-08-09T19:32:24Z Adam majewski 1978 /* Narzędzia */ sudo apt-get update sudo apt-get install gedit-plugins wikitext text/x-wiki ''Gedit'' jest domyślnym edytorem tekstu dla środowiska graficznego ''GNOME''.<br> [[File:Gedit screenshot (en).png|thumb|right|Gedit]] [[File:Ubuntu_10.04_gedit1.png|right|400px]] ==Uruchamianie == Można go uruchomić z poziomu [[Ubuntu/Pierwszy rzut oka na system#Panel_g.C5.82.C3.B3wny_.28Dash.29|Dasha]], wyszukując ''Edytor tekstu''.<br> Często jednak trzeba go uruchomiać '''w Terminalu z prawami administratora''', jeżeli na przykład trzeba edytować<br> pliki konfiguracyjne, do których nie ma dostępu zwykły użytkownik.<br> Załóżmy, że chcesz ręcznie zmienić nazwę swojego komputera. Wydaj polecenie:<br> sudo gedit /etc/hostname Komenda ''sudo'' postawiona przed ''gedit'' daje prawa zarezerwowane dla administratora.<br> Załóżmy że chcesz edytować plik "''frex.txt''", który nie jest plikiem konfiguracyjnym.<br> Plik ten znajduje się w katalogu ''Dokumenty''. Aby go edytować '''jako zwykły użytkownik''' wpisz w Terminalu:<br> cd Dokumenty aby przejść do katalogu ''Dokumenty'', następnie wpisz:<br> gedit frex.txt W tym momencie otwiera się plik tekstowy ''frex.txt'' w edytorze.<br> == Edytowanie plików == Gedit ma '''podświetlanie składni''' dla wielu języków programowania: * podstawowe<ref>[https://wiki.gnome.org/Projects/GtkSourceView/LanguageDefinitions Podstawowe definicje języków GtkSourceView]</ref> * dodatkowe <ref>[https://wiki.gnome.org/Projects/GtkSourceView/LanguageDefinitions dodatkowe definicje języków Gnome]</ref> Zaznacznie/edytowanie kolumn ( column mode) jest możliwe w trybie edycji w wielu miejscach , poprzez wbudowaną wtyczkę <ref>[https://askubuntu.com/questions/1126156/how-to-select-a-column-or-block-of-text-in-gedit-3-28-1 askubuntu question: how-to-select-a-column-or-block-of-text-in-gedit-3-28-1] </ref> ==Ustawienia== Edytowanie schematów kolorów<ref>[https://ubuntuhandbook.org/index.php/2021/07/text-editor-unreadable-ubuntu-dark-mode/ ubuntuhand book : text-editor-unreadable-ubuntu-dark-mode]</ref> sudo gedit /usr/share/gtksourceview-4/styles/classic.xml Sprawdzamy ustawienia<ref>[https://askubuntu.com/questions/375049/where-are-gedits-preferences ask ubuntu question" where-are-gedits-preferences]</ref> za pomocą gsettings gsettings list-recursively | grep -i gedit Przykładowy wynik: <pre> org.gnome.gedit.preferences.ui statusbar-visible true org.gnome.gedit.preferences.ui bottom-panel-visible false org.gnome.gedit.preferences.ui side-panel-visible false org.gnome.gedit.preferences.ui show-tabs-mode 'auto' org.gnome.gedit.plugins.pythonconsole use-system-font true org.gnome.gedit.plugins.pythonconsole command-color '#314e6c' org.gnome.gedit.plugins.pythonconsole error-color '#990000' org.gnome.gedit.plugins.pythonconsole font 'Monospace 10' org.gnome.gedit.plugins.externaltools font 'Monospace 10' org.gnome.gedit.plugins.externaltools use-system-font true org.gnome.gedit.plugins.filebrowser.nautilus click-policy 'double' org.gnome.gedit.plugins.filebrowser.nautilus confirm-trash true org.gnome.gedit.preferences.encodings candidate-encodings [''] org.gnome.gedit.preferences.print print-header true org.gnome.gedit.preferences.print print-font-header-pango 'Sans 11' org.gnome.gedit.preferences.print print-line-numbers uint32 0 org.gnome.gedit.preferences.print print-font-numbers-pango 'Sans 8' org.gnome.gedit.preferences.print margin-top 15.0 org.gnome.gedit.preferences.print margin-left 25.0 org.gnome.gedit.preferences.print margin-right 25.0 org.gnome.gedit.preferences.print print-font-body-pango 'Monospace 9' org.gnome.gedit.preferences.print print-syntax-highlighting true org.gnome.gedit.preferences.print margin-bottom 25.0 org.gnome.gedit.preferences.print print-wrap-mode 'word' org.gnome.gedit.plugins.filebrowser tree-view true org.gnome.gedit.plugins.filebrowser filter-mode ['hide-hidden', 'hide-binary'] org.gnome.gedit.plugins.filebrowser filter-pattern '' org.gnome.gedit.plugins.filebrowser enable-remote false org.gnome.gedit.plugins.filebrowser root 'file:///' org.gnome.gedit.plugins.filebrowser virtual-root 'file:///home/a/Dokumenty/mandelbrot_chaotic/period/f-scaling/f2' org.gnome.gedit.plugins.filebrowser binary-patterns ['*.la', '*.lo'] org.gnome.gedit.plugins.filebrowser open-at-first-doc true org.gnome.desktop.notifications application-children ['apport-gtk', 'org-gnome-gedit', 'org-gnome-eog', 'geeqie', 'gnome-printers-panel', 'gnome-control-center', 'hplip', 'update-manager', 'org-gnome-nautilus', 'gnome-power-panel', 'krita-krita', 'org-gnome-fileroller', 'org-gnome-software', 'org-gnome-dejadup', 'libreoffice-writer', 'rhythmbox', 'xdg-desktop-portal-gtk', 'zoom-client-zoom-client', 'org-gnome-totem', 'org-gnome-soundjuicer', 'brave-brave', 'libreoffice-calc'] org.gnome.gedit.state.window bottom-panel-size 46 org.gnome.gedit.state.window side-panel-size 200 org.gnome.gedit.state.window side-panel-active-page 'GeditWindowDocumentsPanel' org.gnome.gedit.state.window bottom-panel-active-page 'GeditPythonConsolePanel' org.gnome.gedit.state.window size (2560, 1366) org.gnome.gedit.state.window state 43908 org.gnome.gedit.plugins active-plugins ['pythonconsole', 'spell', 'snippets', 'filebrowser', 'docinfo', 'quickhighlight', 'externaltools', 'sort', 'modelines'] org.gnome.shell favorite-apps ['firefox.desktop', 'thunderbird.desktop', 'org.gnome.Nautilus.desktop', 'rhythmbox.desktop', 'libreoffice-writer.desktop', 'snap-store_ubuntu-software.desktop', 'yelp.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.baobab.desktop', 'org.gnome.gedit.desktop', 'brave_brave.desktop', 'org.gnu.emacs.desktop', 'org.gnome.Calculator.desktop'] org.gnome.shell app-picker-layout [{'org.gnome.Geary.desktop': <{'position': <0>}>, 'org.gnome.Contacts.desktop': <{'position': <1>}>, 'org.gnome.Weather.desktop': <{'position': <2>}>, 'org.gnome.clocks.desktop': <{'position': <3>}>, 'org.gnome.Maps.desktop': <{'position': <4>}>, 'org.gnome.Books.desktop': <{'position': <5>}>, 'org.gnome.Photos.desktop': <{'position': <6>}>, 'org.gnome.Totem.desktop': <{'position': <7>}>, 'org.gnome.Calculator.desktop': <{'position': <8>}>, 'org.gnome.gedit.desktop': <{'position': <9>}>, 'simple-scan.desktop': <{'position': <10>}>, 'gnome-control-center.desktop': <{'position': <11>}>, 'gnome-system-monitor.desktop': <{'position': <12>}>, 'org.gnome.Boxes.desktop': <{'position': <13>}>, 'org.gnome.Terminal.desktop': <{'position': <14>}>, 'Utilities': <{'position': <15>}>, 'org.gnome.Characters.desktop': <{'position': <16>}>, 'yelp.desktop': <{'position': <17>}>, 'org.gnome.Screenshot.desktop': <{'position': <18>}>, 'org.gnome.Cheese.desktop': <{'position': <19>}>, 'org.gnome.font-viewer.desktop': <{'position': <20>}>}] org.gnome.gedit.preferences.editor wrap-mode 'word' org.gnome.gedit.preferences.editor auto-save-interval uint32 10 org.gnome.gedit.preferences.editor wrap-last-split-mode 'word' org.gnome.gedit.preferences.editor use-default-font false org.gnome.gedit.preferences.editor tabs-size uint32 8 org.gnome.gedit.preferences.editor auto-save true org.gnome.gedit.preferences.editor background-pattern 'none' org.gnome.gedit.preferences.editor smart-home-end 'after' org.gnome.gedit.preferences.editor search-highlighting true org.gnome.gedit.preferences.editor scheme 'Yaru-dark' org.gnome.gedit.preferences.editor editor-font 'System-ui 16' org.gnome.gedit.preferences.editor bracket-matching true org.gnome.gedit.preferences.editor syntax-highlighting true org.gnome.gedit.preferences.editor display-right-margin false org.gnome.gedit.preferences.editor auto-indent true org.gnome.gedit.preferences.editor max-undo-actions 2000 org.gnome.gedit.preferences.editor restore-cursor-position true org.gnome.gedit.preferences.editor highlight-current-line true org.gnome.gedit.preferences.editor display-line-numbers true org.gnome.gedit.preferences.editor insert-spaces false org.gnome.gedit.preferences.editor display-overview-map false org.gnome.gedit.preferences.editor ensure-trailing-newline true org.gnome.gedit.preferences.editor right-margin-position uint32 80 org.gnome.gedit.preferences.editor create-backup-copy true org.gnome.gedit.state.file-chooser filter-id 1 org.gnome.gedit.state.file-chooser open-recent false org.gnome.gedit.plugins.time prompt-type 'prompt-selected-format' org.gnome.gedit.plugins.time custom-format '%d/%m/%Y %H:%M:%S' org.gnome.gedit.plugins.time selected-format '%c' org.gnome.gedit.state.history-entry replace-with-entry ['long double', 'ComputeColorOfDE', '<math>', 'ProjectionType', 'FamilyType', 'ProjectionTypeT', 'lambda_identity', 'c_identity', 'PMAX'] org.gnome.gedit.state.history-entry search-for-entry [' im ', 'double', 'i @', 'i @ ', 'i @ 0', '1.9999999965530804', '-1.9999999965530804', 'ComputeDolorOfDE', 'ParameterType'] org.gnome.gedit.plugins.spell highlight-misspelled false </pre> Zapisy w pliku : /usr/share/applications/org.gnome.gedit.desktop ==Narzędzia== Możemy je uruchomić za pomocą * menu : gedit ▸ Preferences ▸ Plugins ▸ External Tools * skrótów klawiszowych (akceleratorów) Np skonfigurujemy * otwieranie konsoli w aktualnym katalogu (pwd) * otwieranie [[Ubuntu/Pliki|menadżera plików w aktualnym katalogu]] W ten sposób możemy używać programu jako [[Programowanie_w_systemie_UNIX|lekkiego środowiska programistycznego]] ==wtyczki== * komentowanie kodu sudo apt-get update sudo apt-get install gedit-plugins Skróty klawiaturowe: * Ctrl + M Comment Code * Shift + Ctrl + M Uncomment Code =Źródła= <references/> 49b5ybpqr2vrbouzsk3cesw5mce7lrm Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia 4 33868 437331 437279 2022-08-09T17:44:44Z Persino 2851 /* Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) */ wikitext text/x-wiki <noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude> {{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}} <!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii --> == Usunięcie wymuszenia białego tła w tabelach. == Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu <syntaxhighlight lang="css"> } + table.wikitable td, + table.prettytable td { + background: #f9f9f9; </syntaxhighlight> Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek. Z góry dziękuję za rozpatrzenie mojej prośby. [[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST) ----- {{Ping|Superjurek}}Spróbuj użyć zapisu, np.: <syntaxhighlight lang="css"> background-color: blue !important; color:white !important; </syntaxhighlight> zamiast: <syntaxhighlight lang="css"> background-color: blue; color:white; </syntaxhighlight> to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST) ==Wstawianie kodu do {{LinkKomunikat2|Common.js}}== Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod: <syntaxhighlight lang="JavaScript"> function WyswietlStronyKsiazki(){ function WikikodTitle(data,tabs,titles,tabstrona){ var title=data.parse.title; var wikikod=data.parse.text['*']; var elements=tabstrona[title]; for(var q in elements){ elements[q].innerHTML=wikikod; var a=elements[q].getElementsByTagName('a'); if((a!==null)&&(a.length>0)){ var lena=a.length; for(var i=0;i<lena;++i){ var href=a[i].getAttribute('href'); if(href!==null){ var re=/^[^\?]+\?[^&]+=[^&]*&?/g; if(!re.test(href)){ var re2=/#/g; var s=href.search(re2); if(s!=-1){ var re=/^\/wiki\//g; if(re.test(href)){ var href2=href.substring(6,s) href2=decodeURI(href2); href2=href2.replace(/[_\s]+/g," "); for(var s=0;s<titles.length;s++){ var strona=titles[s]; if(href2==strona){ var href3=href.replace(/^[^#]*/g,""); var a_toc=a[i]; a_toc.setAttribute('href',encodeURI(href3)); a_toc.setAttribute("title",""); } } } }else{ var re=/^\/wiki\//g; if(re.test(href)){ var hrefv=href.replace(re,""); var hrefs=decodeURI(hrefv); hrefs=hrefs.replace(/[_\s]+/g," "); for(var s=0;s<titles.length;s++){ var strona=titles[s]; if(hrefs==strona){ var hrefs2=hrefv.replace(/^[^\/]*\//g,""); var a_toc=a[i]; a_toc.setAttribute('href','#'+hrefs2); a_toc.setAttribute("title",""); } } } } } } } } } var tab_toc=new Array("toc","toc_spis"); for(var d=0;d<tab_toc.length;++d){ var toc=document.getElementsByClassName(tab_toc[d]); if((toc!==null)&&(toc.length>0)){ for(var q in elements){ var num=new Array(); var v=0; for(var e=0;e<tabs.length;++e){ if(tabs[e]==title){ v+=1; if(parseInt(q)+1==v){ num.push(parseInt(e)+1); break; } } } var headline=elements[q].getElementsByClassName("mw-headline"); if((headline!==null)&&(headline.length>0)){ var ulozenie=0; var ostanie=0; var len=headline.length; var naglowek=""; var liczba_ulozenia_w_menu_spisu_tresci=1; var h_number=1; for (var k=0;k<len;++k){ var element2=headline[k]; var nag=element2.innerHTML; var nag2=element2.getAttribute('id'); var h=element2.parentNode.tagName; var h_numer=h.replace(/^[^\d]+/g,""); h_numer=parseInt(h_numer) if((ulozenie==0)||(ulozenie>=h_numer)){ ulozenie=h_numer-1; }else { if(ostatnie+1<h_numer-ulozenie){ ulozenie=h_numer-ostatnie-1; } } ostatnie=h_numer-ulozenie; h_numer=h_numer-ulozenie; if(k==0){ num.push(1); var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>"; naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>"; }else{ if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){ num[num.length-1]+=1; var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>"; naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>"; }else{ if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){ num.push(1); var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>"; naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>"; liczba_ulozenia_w_menu_spisu_tresci=h_numer; }else{ if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){ num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer); num[num.length-1]+=1; var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>"; naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>"; liczba_ulozenia_w_menu_spisu_tresci=h_numer; } } } } } if(naglowek!=""){ naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci)); for(var b=0;b<toc.length;++b){ var a2=toc[b].getElementsByTagName('a'); if((a2!=null)&&(a2.length>0)){ for(var y=0;y<a2.length;++y){ var parent=a2[y].parentNode; var href=a2[y].getAttribute('href'); href=href.replace(/^#/g,""); var title2=title.replace(/^[^\/]+\//g,""); if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){ var div=document.createElement('div'); div.innerHTML=naglowek; var links=a2[y].getElementsByClassName('toctext'); if((links!=null)&&(links.length>0)){ var link=links[0].innerHTML; if(link==title2){ parent.appendChild(div.getElementsByTagName('ul')[0]); } } } } } } } } } } } for(var d=0;d<tab_toc.length;++d){ var toc_pos=document.getElementsByClassName(tab_toc[d]); if((toc_pos!==null)&&(toc_pos.length>0)){ for(var w=0;w<toc_pos.length;++w){ var li=toc_pos[w].getElementsByTagName('li'); var poziom; var section=1; for(var z=0;z<li.length;++z){ var parent=li[z].parentNode.parentNode; if(parent!==null){ var klasa=parent.getAttribute('class'); if(klasa!==null){ var poziom=klasa.match(/toclevel-\d+/g); if(poziom!==null){ poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1; }else{ poziom=1; } }else{poziom=1;} }else{poziom=1;} var klasa=li[z].getAttribute('class'); if(klasa!==null){ var czy_section=klasa.match(/tocsection-\d+/); if(czy_section!==null){ klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section); li[z].setAttribute('class',klasa); }else{ li[z].classList.add("tocsection-"+section); } var czy_level=klasa.match(/toclevel-\d+/); if(czy_level!==null){ klasa=li[z].getAttribute('class'); klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom); li[z].setAttribute('class',klasa); }else{ li[z].classList.add("toclevel-"+poziom); } }else{ li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section) } section=section+1; } } } } var headline=document.getElementsByClassName('mw-headline'); if((headline)&&(headline.length>0)){ for(var i=0;i<headline.length;++i){ var c=1; var el=headline[i]; var id0=el.innerHTML; id0=id0.replace(/[_\s]+/g,"_"); id0=id0.replace(/<[^<>]+>/g,""); for(var j=0;j<i;++j){ var el1=headline[j]; var id1=el1.innerHTML; id1=id1.replace(/[_\s]+/g,"_"); id1=id1.replace(/<[^<>]+>/g,""); if(id0==id1){ ++c; } } if(c==1){ el.setAttribute('id',id0); }else{ el.setAttribute('id',id0+"_"+c); } } } var tab_toc=new Array("toc","toc_spis"); for(d=0;d<tab_toc.length;++d){ var toc_pos=document.getElementsByClassName(tab_toc[d]); if((toc_pos!==null)&&(toc_pos.length>0)){ for(var w=0;w<toc_pos.length;++w){ var toc=toc_pos[w]; var a=toc.getElementsByTagName('a'); if((a)&&(a.length>0)){ for(var p=0;p<a.length;++p){ var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_"); strona=strona.replace(/<[^<>]+>/g,""); var c=1; for(var v=0;v<p;++v){ var strona2; strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_"); strona2=strona2.replace(/<[^<>]+>/g,""); if(strona==strona2){ ++c; } } strona=strona.replace(/<[^<>]+>/g,""); if(c==1){ a[p].setAttribute('href',"#"+strona); }else{ a[p].setAttribute('href',"#"+strona+"_"+c); } } } } } } } function StronaSubst(data){ var wikikod=data.parse.text['*']; var elem=document.createElement('div'); elem.innerHTML=wikikod; var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output'); var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod); var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g); if(czy_wikikod){return;} var strona_subst="strona_subst"; var tagclass=document.getElementsByClassName(strona_subst); if(tagclass==null){return null;} var liczba_elementow=tagclass.length; if(liczba_elementow==0){return null;} var titles=new Array(); var tabstrona=new Array(); var tabs=new Array(); for (var i=0;i<liczba_elementow;++i){ var element=tagclass[i]; if(element.tagName!="DIV"){return null;} var strona=element.innerHTML; var re = /^[_ ]*$/g; var dopasowanie = re.test(strona); if(dopasowanie){return null;}; strona=strona.replace(/^[_ ]*/g,""); strona=strona.replace(/[_ ]*$/g,""); strona=strona.replace(/[_ ]+/g," "); tabs[i]=strona; var czy=false; for(var d in titles){ if(titles[d]==strona){ czy=true; break; } } if(!czy){ titles[titles.length]=strona; } if(tabstrona[strona]==null){ tabstrona[strona]=new Array(); } var tab=tabstrona[strona]; var tablen=tab.length; tabstrona[strona][tablen]=element; } for ( var p in titles ) { var strona=titles[p]; var api=new mw.Api; api.get({ action: 'parse', format: 'json', prop: 'text', title: strona, text: '{{:'+strona+'}}', disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext' }).done(function(data){ WikikodTitle(data,tabs,titles,tabstrona); }); } } var strona = mw.config.get('wgPageName'); var api=new mw.Api; api.get({ action: 'parse', format: 'json', prop: 'text', title: strona, text: '{{#invoke:StronicowyParser|CzyStronaSubst}}', disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext' }).done(function(data){ StronaSubst(data) }); } $(WyswietlStronyKsiazki); </syntaxhighlight> Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET) == Gadżet StronaSubst - dodawanie do listy gadżetów == Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET) === Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} === {{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET) ---- {{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z: {{Pre|(bez sekcji "Spis treści" i "Licencja")}} na {{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}} [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET) === Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}=== {{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET) === Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}=== {{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET) === Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} === {{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET) === Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów === {{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET) ---- {{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z: {{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}} na {{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}} Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET) ---- {{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}). Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}. Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET) ---- Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET) == Zamiana wartości linkowej i szablonowej == {{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET) <del>== Dalsze zmiany na stronach gadżetów (pilne) == {{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del> == Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją == {{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST) == Aktualizacja przepełnienia scrollbarów i implementacja sticky == {{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST) ==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}== {{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją: {{Pre|var Common{{=}}new Array();}} Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}. Co oznaczają te funkcje: * {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania, * {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji, * {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi, * {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych, * {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}, * {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}. Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}. ---- Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST) :Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST) ::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST) :::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST) ===Ostatnia poprawka=== {{Ping|Wargo}}Czy mógłbyś linijkę kodu: {{Pre|var top_ab{{=}}rect_rodzic[top]-margintop; var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom; }} poprawić na: {{Pre|var top_ab{{=}}rect_rodzic[top]; var bottom_ab{{=}}(wys-rect_rodzic[bottom]); }} w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST) === Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} === {{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu: {{Pre |collapseTable( i ); }} zamienić na: {{Pre |Common.collapseTable( i ); }} Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać! ---- W linii: 176 poprawić: {{Pre |1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) { }} na kod: {{Pre |1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { }} ---- Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST) === Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) === {{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Zrobiłem też tam parę drobnych innych edycji. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST) === Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek === {{Ping|Wargo}}Czy mógłbyś poprawić stronę: {{LinkKomunikat2|Gadget-delete-local.js}}, a tam linie: linia 27, tzn.: zamienić: {{Pre |reason: "wpis usunięty z powodu {{Nowiki|[[WB:PA|naruszenia praw autorskich]]}}" }} na {{Pre |reason: "wpis usunięty z powodu {{Nowiki|[[WB:NPA|naruszenia praw autorskich]]}}" }} ---- i zamienić linię: 91: {{Pre |reason: "plik usunięty z powodu {{Nowiki|[[WB:PA|naruszenia praw autorskich]]}}" }} na {{Pre |reason: "plik usunięty z powodu {{Nowiki|[[WB:NPA|naruszenia praw autorskich]]}}" }} ---- również zamienić w liniach: 117 - 135 {{Pre |{{Nowiki|[[$1]]}} }} na {{Pre |{{Nowiki|[[:$1]]}} }} ---- i zamienić, tzn. linie 141 - 142: {{Pre |caption: "sdu", reason: "usunięto, {{Nowiki|[[WB:SDU#" + mw.config.get('wgPageName') + "|wynik głosowania na SDU]]}} " }} na: {{Pre |caption: "dnu", reason: "usunięto, {{Nowiki|[[Wikibooks:Poczekalnia/Zgłoszenia#" + mw.config.get('wgPageName') + "|wynik głosowania na DNU]]}} " }} Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST) amlpw99r5bl4otc15rrsiax5e5uk5b4 Wikipedysta:Persino/Gadget-StronicowyParser.js/StronaSubst.js 2 58130 437316 437104 2022-08-09T17:00:07Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.WyswietlStronyKsiazki=async function(){ await StronicowyParser.muteks.zablokuj(); let stronasubst_latex=undefined; let stronasubst_mathml=undefined; let stronasubst_opakuj_kategorie_ze_sortowaniem=undefined; let stronasubst_ukrywaj_toc=undefined; let stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=undefined; let stronasubst_aktualizowanie_nazw_artykulow=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=undefined; let stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=undefined; let stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=undefined; let stronasubst_nie_usuwaj_styli=undefined; let stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'StronaSubst-name': 'Strona zbiorcza', 'StronaSubst-description-page': 'Wikibooks:StronicowyParser/StronaSubst', 'StronaSubst-latex': 'Zamiast wzorów, wstaw tekst latexowy, w przeciwnym przypadku jest w formie LaTeX.', 'StronaSubst-mathml': 'Zamiast wzorów latexowych, wstaw je w formie znaczników MathML.', 'StronaSubst-opakuj_kategorie_ze_sortowaniem' : 'W stronach zbiorczych opakowuje kategorie, w postaci ramki, dla każdego artykułu z osobna.', 'StronaSubst-ukrywaj_toc' : "Ukrywa, począwszy od jakiegoś poziomu wszystkich tam spisów treści, na stronach zbiorczych.", 'StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach' : "Włącza dymki, nad linkami, w ładowanych dynamicznie stronach, tworząc je inteligentnymi.", 'StronaSubst-aktualizowanie_nazw_artykulow' : 'Aktualizuje na podstawie strony głównej nazwy tylko artykułów.', 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami' : "Aktualizuje sekcje poszczegónych rozdziałów artykułów ładowanych rozdziałami, domyślnie według sekcji w tych jednostkach.", 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika' : 'Aktualizuje, sekcje artykułów ładowanych rozdziałami, na podstawie strony głównej książki, a nie jego artykułów.', 'StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej' : 'Aktualizuje nagłówki strony głównej podręcznika na stronie zbiorczej.', 'StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule' : 'Aktualizuje, brakujące sekcje rozdziałów ładowanych rozdziałami artykułów, według wpisów na stronie głównej, na stronie zbiorczej.', 'StronaSubst-nie_usuwaj_styli' : 'Nie usuwa styli z nagłówków ładowanych stron.', 'StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst' : 'Rozwijaj szablony oznaczone szablonem SzablonSubst.', }); gConfig.register('StronaSubst', {name: mw.msg('StronaSubst-name'), descriptionPage: mw.msg('StronaSubst-description-page')}, [ { name: 'latex', desc: mw.msg('StronaSubst-latex'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_latex'] }, { name: 'mathml', desc: mw.msg('StronaSubst-mathml'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_mathml'] }, { name: 'opakuj_kategorie_ze_sortowaniem', desc: mw.msg('StronaSubst-opakuj_kategorie_ze_sortowaniem'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_opakuj_kategorie_ze_sortowaniem'] }, { name: 'ukrywaj_toc', desc: mw.msg('StronaSubst-ukrywaj_toc'), type: 'integer', deflt: 0, validation: function(n){ if((n<0)||(n==1)){ throw 'Wartość dotycząca poziomu ukrywania spisów treści jest nieprawidłowa!' }; return n; }, legacy: [window, 'wb_stronasubst_ukrywaj_toc'] }, { name: 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach', desc: mw.msg('StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'] }, { name: 'aktualizowanie_nazw_artykulow', desc: mw.msg('StronaSubst-aktualizowanie_nazw_artykulow'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nazw_artykulow'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'] }, { name: 'aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej', desc: mw.msg('StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'] }, { name: 'aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule', desc: mw.msg('StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'] }, { name: 'nie_usuwaj_styli', desc: mw.msg('StronaSubst-nie_usuwaj_styli'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_nie_usuwaj_styli'] }, { name: 'rozwijaj_szablony_oznaczone_szablonem_szablonsubst', desc: mw.msg('StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst'] }, ]); stronasubst_latex = (gConfig.get('StronaSubst', 'latex')==true); stronasubst_mathml = (((gConfig.get('StronaSubst', 'mathml'))&&(!stronasubst_latex))==true); stronasubst_opakuj_kategorie_ze_sortowaniem = (gConfig.get('StronaSubst', 'opakuj_kategorie_ze_sortowaniem')==true); stronasubst_ukrywaj_toc = gConfig.get('StronaSubst', 'ukrywaj_toc'); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach = gConfig.get('StronaSubst', 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'); stronasubst_aktualizowanie_nazw_artykulow = (gConfig.get('StronaSubst', 'aktualizowanie_nazw_artykulow')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami = (gConfig.get('StronaSubst', 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika = (gConfig.get('StronaSubst','aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika')==true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej = (gConfig.get('StronaSubst','aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej')==true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule = (gConfig.get('StronaSubst','aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule')==true); stronasubst_nie_usuwaj_styli = (gConfig.get('StronaSubst','nie_usuwaj_styli')==true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst = (gConfig.get('StronaSubst','rozwijaj_szablony_oznaczone_szablonem_szablonsubst')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} let stronasubst_tablica_tych_samych=new Array(); let stronasubst_tablica_rozdzialow=new Array(); let stronasubst_tablica_alternatywnych_nazw=new Array(); stronasubst_latex=((stronasubst_latex!==undefined)?stronasubst_latex:false); stronasubst_mathml=((stronasubst_mathml!==undefined)?stronasubst_mathml:true); stronasubst_opakuj_kategorie_ze_sortowaniem=((stronasubst_opakuj_kategorie_ze_sortowaniem!==undefined)?stronasubst_opakuj_kategorie_ze_sortowaniem:false); stronasubst_ukrywaj_toc=parseInt(((stronasubst_ukrywaj_toc!==undefined)?stronasubst_ukrywaj_toc:0)); stronasubst_ukrywaj_toc=((!isNaN(stronasubst_ukrywaj_toc))?stronasubst_ukrywaj_toc:0); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=((stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach!==undefined)?stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach:true); stronasubst_aktualizowanie_nazw_artykulow=((stronasubst_aktualizowanie_nazw_artykulow!==undefined)?stronasubst_aktualizowanie_nazw_artykulow:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika:true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=((stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej!==undefined)?stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej:true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=((stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule!==undefined)?stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule:true); stronasubst_nie_usuwaj_styli=((stronasubst_nie_usuwaj_styli!==undefined)?stronasubst_nie_usuwaj_styli:true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=((stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst!==undefined)?stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst:true); async function AnalizujDalejSzablonSubst(element_strony,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let rozdzial_ksiazki="rozdział_książki"; let el=$(element_strony).find('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((el!==null)&&(el.length>0)){ for(let i=0;i<el.length;++i){ let element_el=el[i]; let ksiazka=element_el.querySelector("."+rozdzial_ksiazki); if(ksiazka){ let nazwa_strony=element_el.getAttribute('nazwa_strony'); if(tab_promise2){tab_promise2.push(true);} CzyStronaSubst(element_el,nazwa_strony,tab_promise2); } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } async function WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let title=data.parse.title; let wikikod=data.parse.text['*']; let strona_hash; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let t=tab_uzyskane[0]; if(t==undefined){ console.log("Nie wykryto znacznika lsth_\d+."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } strona_hash=titles[t]; let selflink=document.createElement('div'); selflink.innerHTML=wikikod; let czy_selflink=selflink.getElementsByClassName('selflink'); if((czy_selflink!==null)&&(czy_selflink.length==1)){ let elements=tabstrona[strona_hash]; let a=document.createElement('a');/*Tworzenie linku*/ a.setAttribute('href',StronicowyParser.kodowanie.EncodeHtml(title)); a.innerHTML=strona_hash; let span=document.createElement('span'); span.appendChild(a); span.setAttribute("class","niw link");/*Dodawanie klasy, by inny skript JS to przeanalizował jako link*/ if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo(span); } for(let q in elements){ let element=elements[q]; element.innerHTML=""; element.appendChild(span); $(element).wrap(function(){return "<strong></strong>";}); let przed=document.createTextNode("{{:"); let po=document.createTextNode("}}"); element.insertBefore(przed,element.firstChild); element.appendChild(po); element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=tab_uzyskane[1].innerHTML; let elements=tabstrona[strona_hash]; for(let q in elements){ let element=elements[q]; element.innerHTML=wikikod; StronicowyParser.ZamienLinkiNaLinkiDoStronyAktualnej(element,title,titles); } StronicowyParser.AktualizujSpisTresciModuluStrony(elements,tabs,strona_hash,stronasubst_tablica_alternatywnych_nazw,stronasubst_tablica_tych_samych,stronasubst_tablica_rozdzialow,true,stronasubst_latex,stronasubst_mathml) let strona_start=$(elements[0]).parents(".strona_start"); let rodzic=undefined; if((strona_start!==null)&&(strona_start.length>0)){ rodzic=strona_start[0]; } StronicowyParser.IndeksujHeadLine(rodzic); StronicowyParser.PrzeIndeksujWszystkieTOC(rodzic,true); for(let q in elements){ let element=elements[q]; async function ElementDalszychObliczen(element,tab_promise2){ await StronicowyParser.muteks.zablokuj(true); StronicowyParser.PoprawRozdzialyStron(element); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu(element,tab_promise2);//Funkcja jako gadżet do numerowania rozdziałów. } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element,tab_promise2); } if((StronicowyParser.szablony&&StronicowyParser.szablony.LadujSzablon)&&(stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst)){ let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(element,title,titles,undefined,tab_promise).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(()=>{ if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(element); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} ElementDalszychObliczen(element,tab_promise2); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function ToogleTableOfContainer(panel){ let id=panel.target; let tagname=id.tagName.toUpperCase(); //console.log(czy_klasa,tagname,"TYTAN)"; if(tagname=="BUTTON"){ let czy_klasa_1=$(id).hasClass('sidebar-toc-toggle'); let czy_klasa_2=$(id).hasClass('vector-toc-collapse-button'); if(czy_klasa_1){ $(id).parent().children().last().each((i,element)=>{ let expanded=$(id).attr('aria-expanded'); if(expanded=="false"){ $(element).css('display',"block"); $(element).closest('li').addClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','true'); }else if(expanded=="true"){ $(element).css('display',"none"); $(element).closest('li').removeClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','false'); } }); }else if(czy_klasa_2){ $(id).parents('#sidebar-toc-label').siblings('ul').each((i,element)=>{ let ukryj=$(element).css('display'); if(ukryj!="none"){ $(element).css('display',"none"); id.innerHTML=" pokaż "; }else{ $(element).css('display',"block"); id.innerHTML=" ukryj " } }); } } } let mutekstoogle=new StronicowyParser.Muteks(); async function ScrollTableOfContainer(){ await mutekstoogle.zablokuj(); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').first().each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky.height-15; }); let parser=document.querySelector('#mw-content-text .mw-parser-output'); if(parser){ let rect=parser.getBoundingClientRect(); if(rect.top>=height_sticky){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item').first().addClass('sidebar-toc-list-item-active'); mutekstoogle.odblokuj(); return; } }else{ mutekstoogle.odblokuj(); return; } var str=$('#mw-content-text .mw-parser-output').find('h1, h2, h3, h4, h5, h6'); if((str!==null)&&(str.length>0)){ var naglowek; for(i=0;i<str.length;++i){ let element=str[i]; let rect=element.getBoundingClientRect(); if(rect.top>=height_sticky){ let mw_naglowek=element.querySelector('.mw-headline'); if(mw_naglowek){ let id_naglowek=mw_naglowek.getAttribute('id'); let tak=false; $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+id_naglowek){ let display=window.getComputedStyle(element, null).getPropertyValue('display'); if(display!="none"){ tak=true; } } }); if(tak){ naglowek=id_naglowek; break; } } } } if(naglowek){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+naglowek){ $(element).addClass('sidebar-toc-list-item-active'); } }); } } mutekstoogle.odblokuj(); } async function StronaSubst(element_strony,wikikod,aktualna_strona,tab_promise2){ await StronicowyParser.muteks.zablokuj(); StronicowyParser.NaprawNaglowkiStrony(element_strony,true); let czy_wikikod=wikikod.match(/^[_\s]*$/g); let strona_start=$('#mw-content-text .mw-parser-output .strona_start'); function CzyWszystkieNaglowkiWewnatrzStronaStart(){ let pole=$('#mw-content-text .mw-parser-output').find('h1,h2,h3,h4,h5,h6'); for(let i=0;i<pole.length;++i){ let s=strona_start.find(pole[i]); if((s===null)||(s.length==0)){ return false; } } return true; } if(czy_wikikod){ StronicowyParser.muteks.odblokuj(); let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyArtykulu)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyArtykulu(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } let czy_numerowac=StronicowyParser.CzyWlaczycSideBarTOC(undefined,true); if(czy_numerowac){ czy_numerowac=false; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: StronicowyParser.pageinfo.fullname, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+StronicowyParser.pageinfo.fullname+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ czy_numerowac=true; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ let tab_promise=new Array(true); StronicowyParser.LimitTOC(czy_numerowac,stronasubst_ukrywaj_toc); StronicowyParser.szablony.LadujSzablon(null,null,null,czy_numerowac,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true) StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],czy_numerowac,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(czy_numerowac)){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} return; } let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(null,null,null,undefined,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async (result) => { let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } await StronicowyParser.CzekajNaZakaczenie(tab_promise).then(async (result) => {}).catch(()=>{}); await StronicowyParser.muteks.zablokuj(); if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); let rozdzial_ksiazki="rozdział_książki"; let tagclass=element_strony.getElementsByClassName(rozdzial_ksiazki); if(tagclass===null){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return null; } let liczba_elementow=tagclass.length; if(liczba_elementow==0){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return null; } let titles=new Array(); let tabstrona=new Array(); let tabs=new Array(); let tab_section=new Array(); if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element_strony,tab_promise2); } let tab_hn=new Array(); async function edit_action(numer,strona,hn,link_strona,czy_link_nie_w_naglowku){ await StronicowyParser.muteks.zablokuj(); let linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection===null){ let editsection=document.createElement('span'); editsection.classList.add('mw-editsection'); let bracket_poczatek=document.createElement('span'); bracket_poczatek.classList.add('mw-editsection-bracket') bracket_poczatek.innerHTML="["; let a=document.createElement('a'); a.setAttribute('href',"/w/index.php?title="+StronicowyParser.kodowanie.EncodeHtml(strona,false,true)+"&action=edit"+((numer>0)?("&section="+numer):"")); a.setAttribute('title',"Edytuj artykuł: "+link_strona); a.innerHTML="edytuj"; let bracket_koniec=document.createElement('span'); bracket_koniec.classList.add('mw-editsection-bracket') bracket_koniec.innerHTML="]"; editsection.appendChild(bracket_poczatek); editsection.appendChild(a) editsection.appendChild(bracket_koniec); hn.appendChild(editsection); } linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection!==null){ let mw_editsection_bracket=linkstrony_editsection.querySelector('a'); if(mw_editsection_bracket!==null){ if(czy_link_nie_w_naglowku){ let a=document.createElement('a'); a.innerHTML="artykuł"; a.setAttribute("href",StronicowyParser.kodowanie.EncodeHtml("/wiki/"+StronicowyParser.kodowanie.EncodeHtml(link_strona,false,true))); a.setAttribute("title","Zobacz artykuł: "+link_strona); let span=document.createElement('span'); span.innerHTML="| "; span.setAttribute('class',"mw-editsection-bracket") let czy_ma=$(mw_editsection_bracket).parent().hasClass('link'); if(czy_ma){ let rodzic_mw_editsection_bracket=mw_editsection_bracket.parentNode; let span2=linkstrony_editsection.insertBefore(span, rodzic_mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); }else{ let span2=linkstrony_editsection.insertBefore(span, mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); } } } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(linkstrony_editsection).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); } for (let i=0;i<liczba_elementow;++i){ let tagclassname=tagclass[i]; let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find("."+rozdzial_ksiazki); function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==tagclassname){ return true; } } return false; } if(CzyOdrzucic()){continue;} if(tagclassname.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let class_element=tagclassname.getElementsByClassName('strona_subst'); let element; if((class_element!==null)&&(class_element.length==1)){ element=class_element[0]; if(element.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let czy_link_nie_w_naglowku; let strona_headline=tagclassname.getElementsByClassName('mw-headline'); let link_strona; if((strona_headline!==null)&&(strona_headline.length==1)){ strona_a=strona_headline[0].getElementsByTagName('a'); if((strona_a!==null)&&(strona_a.length==1)){ link_strona=StronicowyParser.kodowanie.DecodeHtml(strona_a[0].getAttribute('href')); if(link_strona!==null){ let re=/\/wiki\//g; if(re.test(link_strona)){ link_strona=link_strona.substring(6,link_strona.length); czy_link_nie_w_naglowku=false; }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } } }else{ link_strona=StronicowyParser.style.UsunStyle(element.innerHTML); czy_link_nie_w_naglowku=true; } } let re = /^[_\s]*$/g; let dopasowanie = re.test(link_strona); if(dopasowanie){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return; }; link_strona=link_strona.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ").replace(/&amp;/g,"&").replace(/&nbsp;/g," "); let hash=link_strona.replace(/^([^#]*)#(.*)$/,"$2").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); /**/ let hn=strona_headline[0].parentNode; if((hn===null)||(!hn.tagName.toUpperCase().match(/^H\d+$/g))){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} tab_section[i]=new Array(hn,link_strona,czy_link_nie_w_naglowku); let strona=link_strona.match(/^[^#]*/g).toString(); async function PraceIteracyjne(tab_promise2){ await StronicowyParser.muteks.zablokuj(); if(/#/g.test(link_strona)){ let hash=link_strona.replace(/^([^#]*)#(.*)$/g,"$2"); if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let numer=hn.innerHTML; numer=parseInt(numer); if(isNaN(numer)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return ;} let tab_c=tab_section[c]; edit_action(numer,tab_c[1].match(/^[^#]*/g).toString(),tab_c[0],tab_c[1],tab_c[2]); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami){ if(!stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); }else{ let uzupelniaj_sekcje_artykulow; if(stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule){ uzupelniaj_sekcje_artykulow="tak"; }else{ uzupelniaj_sekcje_artykulow=""; } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+link_strona+"|analiza=tak|uzupełniaj sekcje artykułów="+uzupelniaj_sekcje_artykulow+"|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; let a=headline.getElementsByTagName('a'); if((a!==null)&&(a.length>0)){ a[0].setAttribute('title',stare); } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } }else{ edit_action(0,strona,hn,link_strona,czy_link_nie_w_naglowku); if(stronasubst_aktualizowanie_nazw_artykulow){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+strona+"|analiza=tak|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceIteracyjne(tab_promise2).then((result) => {}).catch((error) => {}); },1000); /**/ tabs[i]=link_strona; let czy=false; for(let d in titles){ if(titles[d]==link_strona){ czy=true; break; } } if(!czy){ titles[titles.length]=link_strona; } if(tabstrona[link_strona]==null){ tabstrona[link_strona]=new Array(); } let tab=tabstrona[link_strona]; let tablen=tab.length; tabstrona[link_strona][tablen]=element; } async function PraceNaglowki(tab_promise2){ await StronicowyParser.muteks.zablokuj(); let promise; if(element_strony==document){ let namespace=StronicowyParser.pageinfo.namespace; let strona_podrecznika=((namespace!="")?(namespace+":"):"")+StronicowyParser.pageinfo.bookname; promise=Promise.resolve(strona_podrecznika); }else{ let zaan=$(element_strony).parents('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((zaan!==null)&&(zaan.length>0)){ let strona=zaan[0].getAttribute('nazwa_strony'); if(strona){ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](strona); }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } } if(tab_promise2){tab_promise2.push(true);} promise.then(async (strona_podrecznika)=>{ await StronicowyParser.muteks.zablokuj(); let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find(".klasa_nagłówka"); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)){ let g=0; let tab_naglowka=new Array(); let tab_hn=new Array(); for(let z=0;z<klasa_naglowka.length;++z){ let pojedyncza_klasa_naglowka=klasa_naglowka[z]; function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==pojedyncza_klasa_naglowka){ return true; } } return false; } if(CzyOdrzucic()){continue;} let dana_klasa_naglowka=pojedyncza_klasa_naglowka.querySelector('.mw-headline'); if(dana_klasa_naglowka!==null){ if((dana_klasa_naglowka.parentNode!==null)&&(dana_klasa_naglowka.parentNode.tagName.toUpperCase().match(/^[Hh]\d+$/g)) &&(dana_klasa_naglowka.parentNode.parentNode!=null)&&(dana_klasa_naglowka.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&($(dana_klasa_naglowka.parentNode.parentNode).hasClass('klasa_nagłówka'))){ let naglowek=StronicowyParser.style.UsunStyle(dana_klasa_naglowka.innerHTML).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); let ww=1; for(let x=0;x<tab_naglowka.length;++x){ if(tab_naglowka[x]==naglowek){ ++ww; } } naglowek=naglowek+((ww>1)?ww:""); tab_naglowka[g]=naglowek; tab_hn[g]=dana_klasa_naglowka.parentNode; if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, na stronie głównej podręcznika, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let nazwa_podrecznika=strona_podrecznika.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") let naglowek_sekcji_podrecznika=tab_naglowka[c].replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") edit_action(c+1,nazwa_podrecznika,tab_hn[c],nazwa_podrecznika+"#"+naglowek_sekcji_podrecznika,true); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();return;} let headline=tab_hn[c].querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } ++g; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceNaglowki(tab_promise2).then((result) => {}).catch((error) => {}); },1000); function RozwazajNaglowki(){ let toc_fun=new StronicowyParser.ListaNodeTOC(); if((toc_fun.toc!==null)&&(toc_fun.toc.length>0)){ for(let w=0;w<toc_fun.toc.length;++w){ let czy_side_bar_toc=toc_fun.CzySideBarToc(toc_fun.toc[w]); let ile_jest=0; let li=toc_fun.toc[w].getElementsByTagName('li'); if((li!==null)&&(li.length>0)){ for(let dd=0;dd<li.length;++dd){ let element_li=li[dd]; let tocnumber;let toctext_wartosc; if(czy_side_bar_toc){ tocnumber=element_li.querySelector('.sidebar-toc-numb'); if(!tocnumber){continue;} toctext_wartosc=element_li.querySelector('.sidebar-toc-text').innerHTML.replace(new RegExp(StronicowyParser.wzor.BezZnakowSpecjalnych(tocnumber.outerHTML),"g"),""); }else{ tocnumber=element_li.querySelector('.tocnumber'); toctext_wartosc=element_li.querySelector('.toctext').innerHTML; } if((tocnumber!==null)&&(toctext_wartosc!==null)){ let czy_jest=undefined; let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)&&(klasa_naglowka[ile_jest]!=null)){ let element_klasa_naglowka=klasa_naglowka[ile_jest]; let headline=element_klasa_naglowka.querySelector('.mw-headline'); if((headline!==null) &&(headline.parentNode!==null) &&(headline.parentNode.tagName.toUpperCase().match(/^H\d+$/)) &&(headline.parentNode.parentNode!==null) &&(headline.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&(headline.parentNode.parentNode===element_klasa_naglowka) ){ let element_a; if(czy_side_bar_toc){ element_a=tocnumber.parentNode.parentNode; }else{ element_a=tocnumber.parentNode; } if(element_a.tagName.toUpperCase()=="A"){ let href=StronicowyParser.kodowanie.DecodeHtml(element_a.getAttribute('href')); if(href!==null){ href=href.replace(/^#/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); let id_headline=headline.getAttribute('id'); if(id_headline!==null){ id_headline=id_headline.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); if(href!=id_headline){czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} if(czy_jest===undefined){ile_jest+=1;} if((czy_jest===undefined)||(!czy_jest)){ let element_toctext=StronicowyParser.style.UsunStyle(toctext_wartosc).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," "); if(stronasubst_tablica_rozdzialow[element_toctext]==null){ stronasubst_tablica_rozdzialow[element_toctext]=new Array(tocnumber); }else{ stronasubst_tablica_rozdzialow[element_toctext].push(tocnumber); } } } } } } } } StronicowyParser.LimitTOC(true,stronasubst_ukrywaj_toc); if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],true,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(StronicowyParser.CzyWlaczycSideBarTOC(undefined,true))){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } RozwazajNaglowki(); if(stronasubst_mathml){ $("div.toc ul > li > a > span.toctext").toggleClass("mathml"); $("div.toc_spis ul > li > a > span.toctext").toggleClass("mathml"); $("div.mw-table-of-contents-container > nav.sidebar-toc ul > li > a > div.sidebar-toc-text").toggleClass("mathml"); } function Strona(strona){ let strona_re=StronicowyParser.wzor.BezZnakowSpecjalnych(strona); let re=new RegExp("^\\s*"+strona_re+"\\s*#","g"); return re; } function CzyArtykulyZNaglowkamiDlaStrony(re){ for(let s in titles){ let czy_hash=titles[s].match(re); if(czy_hash){ return true; } } return false; } let catlinks_fun=new StronicowyParser.LinkiKategorii(); await catlinks_fun.PobierzKategorieStrony(); for ( let t in titles ) { let strona=titles[t].match(/^[^#]*/g).toString(); let szablon_artykulu; let re_strona=Strona(strona); let czy_naglowki=CzyArtykulyZNaglowkamiDlaStrony(re_strona); if(!czy_naglowki){ szablon_artykulu="{{:"+strona+"}}"; }else{ /*---------------------------------*/ let rozdzial1=null; let re=/^([^#]*)#(.*)$/g; if(re.test(titles[t])){ rozdzial1=titles[t].replace(re,"$2"); rozdzial1=rozdzial1.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial1="";} let rozdzial2=null; let tit=titles[parseInt(t)+1]; if( tit && re.test(tit) && re_strona.test(tit)){ rozdzial2=tit.replace(re,"$2"); rozdzial2=rozdzial2.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial2="";} /*---------------------------*/ szablon_artykulu="{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|TekstRozdziałuStrony|"+strona+"|"+rozdzial1+"|"+rozdzial2+"}}}}"; } szablon_artykulu="{{PrzytnijTekst|"+szablon_artykulu+"}}"; if(stronasubst_opakuj_kategorie_ze_sortowaniem){ szablon_artykulu="{{OpakujKategorieZeSortowaniem|"+szablon_artykulu+"}}" } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text|categories', title: strona, text: "<div class=\"hn hn_"+t+"\">\n"+szablon_artykulu+"\n</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); catlinks_fun.AnalizaKategorii(data).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);} WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2).then((result) => {}).catch((error) => {}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function CzyszczenieZZdarzeńTableOfContent(){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } } } CzyszczenieZZdarzeńTableOfContent(); let tab_promise2=new StronicowyParser.SugerowaneObiekty(); async function CzyStronaSubst(element,aktualna_strona,tab_promise2){ if(tab_promise2){tab_promise2.push(true);} await StronicowyParser.muteks.zablokuj(); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronaSubst}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.expandtemplates.wikitext; if((wikikod!==null)&&(aktualna_strona!==null)){ if(tab_promise2){tab_promise2.push(true);} StronaSubst(element,wikikod,aktualna_strona,tab_promise2).then((result) => {}).catch((error) => {}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } let aktualna_strona=StronicowyParser.pageinfo.fullname; if(tab_promise2){tab_promise2.push(true,true);} CzyStronaSubst(document,aktualna_strona,tab_promise2); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} function Progress(){ var c=document.createElement('div'); c.setAttribute("id","pasek_postępu") c.setAttribute('style','margin-top:-2px;margin-left:-2px;position:absolute;width:250px;height:80px;border:1px solid black;box-sizing:border-box;padding:5px;background-color:white;'); c.css({'display:':'flex','flex-direction':'column'}); var label=document.createElement('label'); label.setAttribute('for','file1'); label.innerHTML="<span style=\"color:blue;\">Ukończone wątki: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%'); var span=document.createElement('span'); span.innerHTML="0%"; var span_0=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file1') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;'); progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_1=c.appendChild(progress); var label=document.createElement('label'); label.setAttribute('for','file2'); label.innerHTML="<span style=\"color:blue;\">Zwolnione blokaty: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_1=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file2') progress.setAttribute('style','margin-left:5px;width:95%;height:100%') progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_2=c.appendChild(progress); function PozycjaXY(){ c.style.top=(window.scrollY+document.documentElement.clientHeight-parseFloat(c.style.height))+"px"; c.style.left=(window.scrollX+document.documentElement.clientWidth-parseFloat(c.style.width))+"px"; } document.querySelector('body').appendChild(c); PozycjaXY(); $(window).on('scroll',PozycjaXY); $(window).on('resize',PozycjaXY); return new Array(element_body_progress_1,element_body_progress_2,span_0,span_1); } var arr; function __FUNKCJA(arr){ arr[0].setAttribute("value","0"); arr[1].setAttribute("value","0"); let dodatnie_0=tab_promise2.lengthPlus; let ujemne_0=tab_promise2.lengthMinus; let dodatnie_1=StronicowyParser.muteks.LiczbaBlokatPlus; let ujemne_1=StronicowyParser.muteks.LiczbaBlokatMinus; let postep_0=((dodatnie_0>0)?((ujemne_0/dodatnie_0)*100):0); let postep_1=((dodatnie_1>0)?((ujemne_1/dodatnie_1)*100):0); arr[0].setAttribute("value",postep_0); arr[1].setAttribute("value",postep_1); arr[2].innerHTML=(parseInt(postep_0*1000)/1000)+"%"; arr[3].innerHTML=(parseInt(postep_1*1000)/1000)+"%"; } StronicowyParser.CzekajNaZakaczenie(tab_promise2,null,StronicowyParser.muteks,(tab_promise)=>{arr=Progress();__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);setTimeout(function(){let node_postep=document.getElementById('pasek_postępu');$(node_postep).remove();},2000);}).then(async (result) => {}).catch(()=>{}); }; StronicowyParser.WyswietlStronyKsiazki().then((result) => {}).catch((error) => {}); }); nbxawy1ngzwlahh5vu5essuu8dymki1 437317 437316 2022-08-09T17:03:10Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.WyswietlStronyKsiazki=async function(){ await StronicowyParser.muteks.zablokuj(); let stronasubst_latex=undefined; let stronasubst_mathml=undefined; let stronasubst_opakuj_kategorie_ze_sortowaniem=undefined; let stronasubst_ukrywaj_toc=undefined; let stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=undefined; let stronasubst_aktualizowanie_nazw_artykulow=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=undefined; let stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=undefined; let stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=undefined; let stronasubst_nie_usuwaj_styli=undefined; let stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'StronaSubst-name': 'Strona zbiorcza', 'StronaSubst-description-page': 'Wikibooks:StronicowyParser/StronaSubst', 'StronaSubst-latex': 'Zamiast wzorów, wstaw tekst latexowy, w przeciwnym przypadku jest w formie LaTeX.', 'StronaSubst-mathml': 'Zamiast wzorów latexowych, wstaw je w formie znaczników MathML.', 'StronaSubst-opakuj_kategorie_ze_sortowaniem' : 'W stronach zbiorczych opakowuje kategorie, w postaci ramki, dla każdego artykułu z osobna.', 'StronaSubst-ukrywaj_toc' : "Ukrywa, począwszy od jakiegoś poziomu wszystkich tam spisów treści, na stronach zbiorczych.", 'StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach' : "Włącza dymki, nad linkami, w ładowanych dynamicznie stronach, tworząc je inteligentnymi.", 'StronaSubst-aktualizowanie_nazw_artykulow' : 'Aktualizuje na podstawie strony głównej nazwy tylko artykułów.', 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami' : "Aktualizuje sekcje poszczegónych rozdziałów artykułów ładowanych rozdziałami, domyślnie według sekcji w tych jednostkach.", 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika' : 'Aktualizuje, sekcje artykułów ładowanych rozdziałami, na podstawie strony głównej książki, a nie jego artykułów.', 'StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej' : 'Aktualizuje nagłówki strony głównej podręcznika na stronie zbiorczej.', 'StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule' : 'Aktualizuje, brakujące sekcje rozdziałów ładowanych rozdziałami artykułów, według wpisów na stronie głównej, na stronie zbiorczej.', 'StronaSubst-nie_usuwaj_styli' : 'Nie usuwa styli z nagłówków ładowanych stron.', 'StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst' : 'Rozwijaj szablony oznaczone szablonem SzablonSubst.', }); gConfig.register('StronaSubst', {name: mw.msg('StronaSubst-name'), descriptionPage: mw.msg('StronaSubst-description-page')}, [ { name: 'latex', desc: mw.msg('StronaSubst-latex'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_latex'] }, { name: 'mathml', desc: mw.msg('StronaSubst-mathml'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_mathml'] }, { name: 'opakuj_kategorie_ze_sortowaniem', desc: mw.msg('StronaSubst-opakuj_kategorie_ze_sortowaniem'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_opakuj_kategorie_ze_sortowaniem'] }, { name: 'ukrywaj_toc', desc: mw.msg('StronaSubst-ukrywaj_toc'), type: 'integer', deflt: 0, validation: function(n){ if((n<0)||(n==1)){ throw 'Wartość dotycząca poziomu ukrywania spisów treści jest nieprawidłowa!' }; return n; }, legacy: [window, 'wb_stronasubst_ukrywaj_toc'] }, { name: 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach', desc: mw.msg('StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'] }, { name: 'aktualizowanie_nazw_artykulow', desc: mw.msg('StronaSubst-aktualizowanie_nazw_artykulow'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nazw_artykulow'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'] }, { name: 'aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej', desc: mw.msg('StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'] }, { name: 'aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule', desc: mw.msg('StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'] }, { name: 'nie_usuwaj_styli', desc: mw.msg('StronaSubst-nie_usuwaj_styli'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_nie_usuwaj_styli'] }, { name: 'rozwijaj_szablony_oznaczone_szablonem_szablonsubst', desc: mw.msg('StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst'] }, ]); stronasubst_latex = (gConfig.get('StronaSubst', 'latex')==true); stronasubst_mathml = (((gConfig.get('StronaSubst', 'mathml'))&&(!stronasubst_latex))==true); stronasubst_opakuj_kategorie_ze_sortowaniem = (gConfig.get('StronaSubst', 'opakuj_kategorie_ze_sortowaniem')==true); stronasubst_ukrywaj_toc = gConfig.get('StronaSubst', 'ukrywaj_toc'); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach = gConfig.get('StronaSubst', 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'); stronasubst_aktualizowanie_nazw_artykulow = (gConfig.get('StronaSubst', 'aktualizowanie_nazw_artykulow')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami = (gConfig.get('StronaSubst', 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika = (gConfig.get('StronaSubst','aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika')==true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej = (gConfig.get('StronaSubst','aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej')==true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule = (gConfig.get('StronaSubst','aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule')==true); stronasubst_nie_usuwaj_styli = (gConfig.get('StronaSubst','nie_usuwaj_styli')==true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst = (gConfig.get('StronaSubst','rozwijaj_szablony_oznaczone_szablonem_szablonsubst')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} let stronasubst_tablica_tych_samych=new Array(); let stronasubst_tablica_rozdzialow=new Array(); let stronasubst_tablica_alternatywnych_nazw=new Array(); stronasubst_latex=((stronasubst_latex!==undefined)?stronasubst_latex:false); stronasubst_mathml=((stronasubst_mathml!==undefined)?stronasubst_mathml:true); stronasubst_opakuj_kategorie_ze_sortowaniem=((stronasubst_opakuj_kategorie_ze_sortowaniem!==undefined)?stronasubst_opakuj_kategorie_ze_sortowaniem:false); stronasubst_ukrywaj_toc=parseInt(((stronasubst_ukrywaj_toc!==undefined)?stronasubst_ukrywaj_toc:0)); stronasubst_ukrywaj_toc=((!isNaN(stronasubst_ukrywaj_toc))?stronasubst_ukrywaj_toc:0); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=((stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach!==undefined)?stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach:true); stronasubst_aktualizowanie_nazw_artykulow=((stronasubst_aktualizowanie_nazw_artykulow!==undefined)?stronasubst_aktualizowanie_nazw_artykulow:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika:true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=((stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej!==undefined)?stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej:true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=((stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule!==undefined)?stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule:true); stronasubst_nie_usuwaj_styli=((stronasubst_nie_usuwaj_styli!==undefined)?stronasubst_nie_usuwaj_styli:true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=((stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst!==undefined)?stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst:true); async function AnalizujDalejSzablonSubst(element_strony,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let rozdzial_ksiazki="rozdział_książki"; let el=$(element_strony).find('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((el!==null)&&(el.length>0)){ for(let i=0;i<el.length;++i){ let element_el=el[i]; let ksiazka=element_el.querySelector("."+rozdzial_ksiazki); if(ksiazka){ let nazwa_strony=element_el.getAttribute('nazwa_strony'); if(tab_promise2){tab_promise2.push(true);} CzyStronaSubst(element_el,nazwa_strony,tab_promise2); } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } async function WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let title=data.parse.title; let wikikod=data.parse.text['*']; let strona_hash; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let t=tab_uzyskane[0]; if(t==undefined){ console.log("Nie wykryto znacznika lsth_\d+."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } strona_hash=titles[t]; let selflink=document.createElement('div'); selflink.innerHTML=wikikod; let czy_selflink=selflink.getElementsByClassName('selflink'); if((czy_selflink!==null)&&(czy_selflink.length==1)){ let elements=tabstrona[strona_hash]; let a=document.createElement('a');/*Tworzenie linku*/ a.setAttribute('href',StronicowyParser.kodowanie.EncodeHtml(title)); a.innerHTML=strona_hash; let span=document.createElement('span'); span.appendChild(a); span.setAttribute("class","niw link");/*Dodawanie klasy, by inny skript JS to przeanalizował jako link*/ if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo(span); } for(let q in elements){ let element=elements[q]; element.innerHTML=""; element.appendChild(span); $(element).wrap(function(){return "<strong></strong>";}); let przed=document.createTextNode("{{:"); let po=document.createTextNode("}}"); element.insertBefore(przed,element.firstChild); element.appendChild(po); element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=tab_uzyskane[1].innerHTML; let elements=tabstrona[strona_hash]; for(let q in elements){ let element=elements[q]; element.innerHTML=wikikod; StronicowyParser.ZamienLinkiNaLinkiDoStronyAktualnej(element,title,titles); } StronicowyParser.AktualizujSpisTresciModuluStrony(elements,tabs,strona_hash,stronasubst_tablica_alternatywnych_nazw,stronasubst_tablica_tych_samych,stronasubst_tablica_rozdzialow,true,stronasubst_latex,stronasubst_mathml) let strona_start=$(elements[0]).parents(".strona_start"); let rodzic=undefined; if((strona_start!==null)&&(strona_start.length>0)){ rodzic=strona_start[0]; } StronicowyParser.IndeksujHeadLine(rodzic); StronicowyParser.PrzeIndeksujWszystkieTOC(rodzic,true); for(let q in elements){ let element=elements[q]; async function ElementDalszychObliczen(element,tab_promise2){ await StronicowyParser.muteks.zablokuj(true); StronicowyParser.PoprawRozdzialyStron(element); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu(element,tab_promise2);//Funkcja jako gadżet do numerowania rozdziałów. } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element,tab_promise2); } if((StronicowyParser.szablony&&StronicowyParser.szablony.LadujSzablon)&&(stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst)){ let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(element,title,titles,undefined,tab_promise).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(()=>{ if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(element); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} ElementDalszychObliczen(element,tab_promise2); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function ToogleTableOfContainer(panel){ let id=panel.target; let tagname=id.tagName.toUpperCase(); //console.log(czy_klasa,tagname,"TYTAN)"; if(tagname=="BUTTON"){ let czy_klasa_1=$(id).hasClass('sidebar-toc-toggle'); let czy_klasa_2=$(id).hasClass('vector-toc-collapse-button'); if(czy_klasa_1){ $(id).parent().children().last().each((i,element)=>{ let expanded=$(id).attr('aria-expanded'); if(expanded=="false"){ $(element).css('display',"block"); $(element).closest('li').addClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','true'); }else if(expanded=="true"){ $(element).css('display',"none"); $(element).closest('li').removeClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','false'); } }); }else if(czy_klasa_2){ $(id).parents('#sidebar-toc-label').siblings('ul').each((i,element)=>{ let ukryj=$(element).css('display'); if(ukryj!="none"){ $(element).css('display',"none"); id.innerHTML=" pokaż "; }else{ $(element).css('display',"block"); id.innerHTML=" ukryj " } }); } } } let mutekstoogle=new StronicowyParser.Muteks(); async function ScrollTableOfContainer(){ await mutekstoogle.zablokuj(); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').first().each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky.height-15; }); let parser=document.querySelector('#mw-content-text .mw-parser-output'); if(parser){ let rect=parser.getBoundingClientRect(); if(rect.top>=height_sticky){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item').first().addClass('sidebar-toc-list-item-active'); mutekstoogle.odblokuj(); return; } }else{ mutekstoogle.odblokuj(); return; } var str=$('#mw-content-text .mw-parser-output').find('h1, h2, h3, h4, h5, h6'); if((str!==null)&&(str.length>0)){ var naglowek; for(i=0;i<str.length;++i){ let element=str[i]; let rect=element.getBoundingClientRect(); if(rect.top>=height_sticky){ let mw_naglowek=element.querySelector('.mw-headline'); if(mw_naglowek){ let id_naglowek=mw_naglowek.getAttribute('id'); let tak=false; $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+id_naglowek){ let display=window.getComputedStyle(element, null).getPropertyValue('display'); if(display!="none"){ tak=true; } } }); if(tak){ naglowek=id_naglowek; break; } } } } if(naglowek){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+naglowek){ $(element).addClass('sidebar-toc-list-item-active'); } }); } } mutekstoogle.odblokuj(); } async function StronaSubst(element_strony,wikikod,aktualna_strona,tab_promise2){ await StronicowyParser.muteks.zablokuj(); StronicowyParser.NaprawNaglowkiStrony(element_strony,true); let czy_wikikod=wikikod.match(/^[_\s]*$/g); let strona_start=$('#mw-content-text .mw-parser-output .strona_start'); function CzyWszystkieNaglowkiWewnatrzStronaStart(){ let pole=$('#mw-content-text .mw-parser-output').find('h1,h2,h3,h4,h5,h6'); for(let i=0;i<pole.length;++i){ let s=strona_start.find(pole[i]); if((s===null)||(s.length==0)){ return false; } } return true; } if(czy_wikikod){ StronicowyParser.muteks.odblokuj(); let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyArtykulu)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyArtykulu(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } let czy_numerowac=StronicowyParser.CzyWlaczycSideBarTOC(undefined,true); if(czy_numerowac){ czy_numerowac=false; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: StronicowyParser.pageinfo.fullname, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+StronicowyParser.pageinfo.fullname+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ czy_numerowac=true; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ let tab_promise=new Array(true); StronicowyParser.LimitTOC(czy_numerowac,stronasubst_ukrywaj_toc); StronicowyParser.szablony.LadujSzablon(null,null,null,czy_numerowac,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true) StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],czy_numerowac,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(czy_numerowac)){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} return; } let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(null,null,null,undefined,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async (result) => { let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } await StronicowyParser.CzekajNaZakaczenie(tab_promise).then(async (result) => {}).catch(()=>{}); await StronicowyParser.muteks.zablokuj(); if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); let rozdzial_ksiazki="rozdział_książki"; let tagclass=element_strony.getElementsByClassName(rozdzial_ksiazki); if(tagclass===null){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return null; } let liczba_elementow=tagclass.length; if(liczba_elementow==0){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return null; } let titles=new Array(); let tabstrona=new Array(); let tabs=new Array(); let tab_section=new Array(); if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element_strony,tab_promise2); } let tab_hn=new Array(); async function edit_action(numer,strona,hn,link_strona,czy_link_nie_w_naglowku){ await StronicowyParser.muteks.zablokuj(); let linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection===null){ let editsection=document.createElement('span'); editsection.classList.add('mw-editsection'); let bracket_poczatek=document.createElement('span'); bracket_poczatek.classList.add('mw-editsection-bracket') bracket_poczatek.innerHTML="["; let a=document.createElement('a'); a.setAttribute('href',"/w/index.php?title="+StronicowyParser.kodowanie.EncodeHtml(strona,false,true)+"&action=edit"+((numer>0)?("&section="+numer):"")); a.setAttribute('title',"Edytuj artykuł: "+link_strona); a.innerHTML="edytuj"; let bracket_koniec=document.createElement('span'); bracket_koniec.classList.add('mw-editsection-bracket') bracket_koniec.innerHTML="]"; editsection.appendChild(bracket_poczatek); editsection.appendChild(a) editsection.appendChild(bracket_koniec); hn.appendChild(editsection); } linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection!==null){ let mw_editsection_bracket=linkstrony_editsection.querySelector('a'); if(mw_editsection_bracket!==null){ if(czy_link_nie_w_naglowku){ let a=document.createElement('a'); a.innerHTML="artykuł"; a.setAttribute("href",StronicowyParser.kodowanie.EncodeHtml("/wiki/"+StronicowyParser.kodowanie.EncodeHtml(link_strona,false,true))); a.setAttribute("title","Zobacz artykuł: "+link_strona); let span=document.createElement('span'); span.innerHTML="| "; span.setAttribute('class',"mw-editsection-bracket") let czy_ma=$(mw_editsection_bracket).parent().hasClass('link'); if(czy_ma){ let rodzic_mw_editsection_bracket=mw_editsection_bracket.parentNode; let span2=linkstrony_editsection.insertBefore(span, rodzic_mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); }else{ let span2=linkstrony_editsection.insertBefore(span, mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); } } } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(linkstrony_editsection).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); } for (let i=0;i<liczba_elementow;++i){ let tagclassname=tagclass[i]; let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find("."+rozdzial_ksiazki); function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==tagclassname){ return true; } } return false; } if(CzyOdrzucic()){continue;} if(tagclassname.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let class_element=tagclassname.getElementsByClassName('strona_subst'); let element; if((class_element!==null)&&(class_element.length==1)){ element=class_element[0]; if(element.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let czy_link_nie_w_naglowku; let strona_headline=tagclassname.getElementsByClassName('mw-headline'); let link_strona; if((strona_headline!==null)&&(strona_headline.length==1)){ strona_a=strona_headline[0].getElementsByTagName('a'); if((strona_a!==null)&&(strona_a.length==1)){ link_strona=StronicowyParser.kodowanie.DecodeHtml(strona_a[0].getAttribute('href')); if(link_strona!==null){ let re=/\/wiki\//g; if(re.test(link_strona)){ link_strona=link_strona.substring(6,link_strona.length); czy_link_nie_w_naglowku=false; }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } } }else{ link_strona=StronicowyParser.style.UsunStyle(element.innerHTML); czy_link_nie_w_naglowku=true; } } let re = /^[_\s]*$/g; let dopasowanie = re.test(link_strona); if(dopasowanie){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return; }; link_strona=link_strona.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ").replace(/&amp;/g,"&").replace(/&nbsp;/g," "); let hash=link_strona.replace(/^([^#]*)#(.*)$/,"$2").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); /**/ let hn=strona_headline[0].parentNode; if((hn===null)||(!hn.tagName.toUpperCase().match(/^H\d+$/g))){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} tab_section[i]=new Array(hn,link_strona,czy_link_nie_w_naglowku); let strona=link_strona.match(/^[^#]*/g).toString(); async function PraceIteracyjne(tab_promise2){ await StronicowyParser.muteks.zablokuj(); if(/#/g.test(link_strona)){ let hash=link_strona.replace(/^([^#]*)#(.*)$/g,"$2"); if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let numer=hn.innerHTML; numer=parseInt(numer); if(isNaN(numer)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return ;} let tab_c=tab_section[c]; edit_action(numer,tab_c[1].match(/^[^#]*/g).toString(),tab_c[0],tab_c[1],tab_c[2]); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami){ if(!stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); }else{ let uzupelniaj_sekcje_artykulow; if(stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule){ uzupelniaj_sekcje_artykulow="tak"; }else{ uzupelniaj_sekcje_artykulow=""; } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+link_strona+"|analiza=tak|uzupełniaj sekcje artykułów="+uzupelniaj_sekcje_artykulow+"|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; let a=headline.getElementsByTagName('a'); if((a!==null)&&(a.length>0)){ a[0].setAttribute('title',stare); } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } }else{ edit_action(0,strona,hn,link_strona,czy_link_nie_w_naglowku); if(stronasubst_aktualizowanie_nazw_artykulow){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+strona+"|analiza=tak|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceIteracyjne(tab_promise2).then((result) => {}).catch((error) => {}); },1000); /**/ tabs[i]=link_strona; let czy=false; for(let d in titles){ if(titles[d]==link_strona){ czy=true; break; } } if(!czy){ titles[titles.length]=link_strona; } if(tabstrona[link_strona]==null){ tabstrona[link_strona]=new Array(); } let tab=tabstrona[link_strona]; let tablen=tab.length; tabstrona[link_strona][tablen]=element; } async function PraceNaglowki(tab_promise2){ await StronicowyParser.muteks.zablokuj(); let promise; if(element_strony==document){ let namespace=StronicowyParser.pageinfo.namespace; let strona_podrecznika=((namespace!="")?(namespace+":"):"")+StronicowyParser.pageinfo.bookname; promise=Promise.resolve(strona_podrecznika); }else{ let zaan=$(element_strony).parents('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((zaan!==null)&&(zaan.length>0)){ let strona=zaan[0].getAttribute('nazwa_strony'); if(strona){ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](strona); }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } } if(tab_promise2){tab_promise2.push(true);} promise.then(async (strona_podrecznika)=>{ await StronicowyParser.muteks.zablokuj(); let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find(".klasa_nagłówka"); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)){ let g=0; let tab_naglowka=new Array(); let tab_hn=new Array(); for(let z=0;z<klasa_naglowka.length;++z){ let pojedyncza_klasa_naglowka=klasa_naglowka[z]; function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==pojedyncza_klasa_naglowka){ return true; } } return false; } if(CzyOdrzucic()){continue;} let dana_klasa_naglowka=pojedyncza_klasa_naglowka.querySelector('.mw-headline'); if(dana_klasa_naglowka!==null){ if((dana_klasa_naglowka.parentNode!==null)&&(dana_klasa_naglowka.parentNode.tagName.toUpperCase().match(/^[Hh]\d+$/g)) &&(dana_klasa_naglowka.parentNode.parentNode!=null)&&(dana_klasa_naglowka.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&($(dana_klasa_naglowka.parentNode.parentNode).hasClass('klasa_nagłówka'))){ let naglowek=StronicowyParser.style.UsunStyle(dana_klasa_naglowka.innerHTML).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); let ww=1; for(let x=0;x<tab_naglowka.length;++x){ if(tab_naglowka[x]==naglowek){ ++ww; } } naglowek=naglowek+((ww>1)?ww:""); tab_naglowka[g]=naglowek; tab_hn[g]=dana_klasa_naglowka.parentNode; if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, na stronie głównej podręcznika, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let nazwa_podrecznika=strona_podrecznika.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") let naglowek_sekcji_podrecznika=tab_naglowka[c].replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") edit_action(c+1,nazwa_podrecznika,tab_hn[c],nazwa_podrecznika+"#"+naglowek_sekcji_podrecznika,true); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();return;} let headline=tab_hn[c].querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } ++g; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceNaglowki(tab_promise2).then((result) => {}).catch((error) => {}); },1000); function RozwazajNaglowki(){ let toc_fun=new StronicowyParser.ListaNodeTOC(); if((toc_fun.toc!==null)&&(toc_fun.toc.length>0)){ for(let w=0;w<toc_fun.toc.length;++w){ let czy_side_bar_toc=toc_fun.CzySideBarToc(toc_fun.toc[w]); let ile_jest=0; let li=toc_fun.toc[w].getElementsByTagName('li'); if((li!==null)&&(li.length>0)){ for(let dd=0;dd<li.length;++dd){ let element_li=li[dd]; let tocnumber;let toctext_wartosc; if(czy_side_bar_toc){ tocnumber=element_li.querySelector('.sidebar-toc-numb'); if(!tocnumber){continue;} toctext_wartosc=element_li.querySelector('.sidebar-toc-text').innerHTML.replace(new RegExp(StronicowyParser.wzor.BezZnakowSpecjalnych(tocnumber.outerHTML),"g"),""); }else{ tocnumber=element_li.querySelector('.tocnumber'); toctext_wartosc=element_li.querySelector('.toctext').innerHTML; } if((tocnumber!==null)&&(toctext_wartosc!==null)){ let czy_jest=undefined; let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)&&(klasa_naglowka[ile_jest]!=null)){ let element_klasa_naglowka=klasa_naglowka[ile_jest]; let headline=element_klasa_naglowka.querySelector('.mw-headline'); if((headline!==null) &&(headline.parentNode!==null) &&(headline.parentNode.tagName.toUpperCase().match(/^H\d+$/)) &&(headline.parentNode.parentNode!==null) &&(headline.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&(headline.parentNode.parentNode===element_klasa_naglowka) ){ let element_a; if(czy_side_bar_toc){ element_a=tocnumber.parentNode.parentNode; }else{ element_a=tocnumber.parentNode; } if(element_a.tagName.toUpperCase()=="A"){ let href=StronicowyParser.kodowanie.DecodeHtml(element_a.getAttribute('href')); if(href!==null){ href=href.replace(/^#/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); let id_headline=headline.getAttribute('id'); if(id_headline!==null){ id_headline=id_headline.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); if(href!=id_headline){czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} if(czy_jest===undefined){ile_jest+=1;} if((czy_jest===undefined)||(!czy_jest)){ let element_toctext=StronicowyParser.style.UsunStyle(toctext_wartosc).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," "); if(stronasubst_tablica_rozdzialow[element_toctext]==null){ stronasubst_tablica_rozdzialow[element_toctext]=new Array(tocnumber); }else{ stronasubst_tablica_rozdzialow[element_toctext].push(tocnumber); } } } } } } } } StronicowyParser.LimitTOC(true,stronasubst_ukrywaj_toc); if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],true,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(StronicowyParser.CzyWlaczycSideBarTOC(undefined,true))){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } RozwazajNaglowki(); if(stronasubst_mathml){ $("div.toc ul > li > a > span.toctext").toggleClass("mathml"); $("div.toc_spis ul > li > a > span.toctext").toggleClass("mathml"); $("div.mw-table-of-contents-container > nav.sidebar-toc ul > li > a > div.sidebar-toc-text").toggleClass("mathml"); } function Strona(strona){ let strona_re=StronicowyParser.wzor.BezZnakowSpecjalnych(strona); let re=new RegExp("^\\s*"+strona_re+"\\s*#","g"); return re; } function CzyArtykulyZNaglowkamiDlaStrony(re){ for(let s in titles){ let czy_hash=titles[s].match(re); if(czy_hash){ return true; } } return false; } let catlinks_fun=new StronicowyParser.LinkiKategorii(); await catlinks_fun.PobierzKategorieStrony(); for ( let t in titles ) { let strona=titles[t].match(/^[^#]*/g).toString(); let szablon_artykulu; let re_strona=Strona(strona); let czy_naglowki=CzyArtykulyZNaglowkamiDlaStrony(re_strona); if(!czy_naglowki){ szablon_artykulu="{{:"+strona+"}}"; }else{ /*---------------------------------*/ let rozdzial1=null; let re=/^([^#]*)#(.*)$/g; if(re.test(titles[t])){ rozdzial1=titles[t].replace(re,"$2"); rozdzial1=rozdzial1.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial1="";} let rozdzial2=null; let tit=titles[parseInt(t)+1]; if( tit && re.test(tit) && re_strona.test(tit)){ rozdzial2=tit.replace(re,"$2"); rozdzial2=rozdzial2.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial2="";} /*---------------------------*/ szablon_artykulu="{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|TekstRozdziałuStrony|"+strona+"|"+rozdzial1+"|"+rozdzial2+"}}}}"; } szablon_artykulu="{{PrzytnijTekst|"+szablon_artykulu+"}}"; if(stronasubst_opakuj_kategorie_ze_sortowaniem){ szablon_artykulu="{{OpakujKategorieZeSortowaniem|"+szablon_artykulu+"}}" } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text|categories', title: strona, text: "<div class=\"hn hn_"+t+"\">\n"+szablon_artykulu+"\n</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); catlinks_fun.AnalizaKategorii(data).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);} WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2).then((result) => {}).catch((error) => {}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function CzyszczenieZZdarzeńTableOfContent(){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } } } CzyszczenieZZdarzeńTableOfContent(); let tab_promise2=new StronicowyParser.SugerowaneObiekty(); async function CzyStronaSubst(element,aktualna_strona,tab_promise2){ if(tab_promise2){tab_promise2.push(true);} await StronicowyParser.muteks.zablokuj(); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronaSubst}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.expandtemplates.wikitext; if((wikikod!==null)&&(aktualna_strona!==null)){ if(tab_promise2){tab_promise2.push(true);} StronaSubst(element,wikikod,aktualna_strona,tab_promise2).then((result) => {}).catch((error) => {}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } let aktualna_strona=StronicowyParser.pageinfo.fullname; if(tab_promise2){tab_promise2.push(true,true);} CzyStronaSubst(document,aktualna_strona,tab_promise2); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} function Progress(){ var c=document.createElement('div'); c.setAttribute("id","pasek_postępu") c.setAttribute('style','margin-top:-2px;margin-left:-2px;position:absolute;width:250px;height:80px;border:1px solid black;box-sizing:border-box;padding:5px;background-color:white;display:flex;flex-direction:column;'); var label=document.createElement('label'); label.setAttribute('for','file1'); label.innerHTML="<span style=\"color:blue;\">Ukończone wątki: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%'); var span=document.createElement('span'); span.innerHTML="0%"; var span_0=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file1') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;'); progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_1=c.appendChild(progress); var label=document.createElement('label'); label.setAttribute('for','file2'); label.innerHTML="<span style=\"color:blue;\">Zwolnione blokaty: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_1=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file2') progress.setAttribute('style','margin-left:5px;width:95%;height:100%') progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_2=c.appendChild(progress); function PozycjaXY(){ c.style.top=(window.scrollY+document.documentElement.clientHeight-parseFloat(c.style.height))+"px"; c.style.left=(window.scrollX+document.documentElement.clientWidth-parseFloat(c.style.width))+"px"; } document.querySelector('body').appendChild(c); PozycjaXY(); $(window).on('scroll',PozycjaXY); $(window).on('resize',PozycjaXY); return new Array(element_body_progress_1,element_body_progress_2,span_0,span_1); } var arr; function __FUNKCJA(arr){ arr[0].setAttribute("value","0"); arr[1].setAttribute("value","0"); let dodatnie_0=tab_promise2.lengthPlus; let ujemne_0=tab_promise2.lengthMinus; let dodatnie_1=StronicowyParser.muteks.LiczbaBlokatPlus; let ujemne_1=StronicowyParser.muteks.LiczbaBlokatMinus; let postep_0=((dodatnie_0>0)?((ujemne_0/dodatnie_0)*100):0); let postep_1=((dodatnie_1>0)?((ujemne_1/dodatnie_1)*100):0); arr[0].setAttribute("value",postep_0); arr[1].setAttribute("value",postep_1); arr[2].innerHTML=(parseInt(postep_0*1000)/1000)+"%"; arr[3].innerHTML=(parseInt(postep_1*1000)/1000)+"%"; } StronicowyParser.CzekajNaZakaczenie(tab_promise2,null,StronicowyParser.muteks,(tab_promise)=>{arr=Progress();__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);setTimeout(function(){let node_postep=document.getElementById('pasek_postępu');$(node_postep).remove();},2000);}).then(async (result) => {}).catch(()=>{}); }; StronicowyParser.WyswietlStronyKsiazki().then((result) => {}).catch((error) => {}); }); n8bdo2o79h554az879ug7odym5e4t02 437318 437317 2022-08-09T17:10:02Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.WyswietlStronyKsiazki=async function(){ await StronicowyParser.muteks.zablokuj(); let stronasubst_latex=undefined; let stronasubst_mathml=undefined; let stronasubst_opakuj_kategorie_ze_sortowaniem=undefined; let stronasubst_ukrywaj_toc=undefined; let stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=undefined; let stronasubst_aktualizowanie_nazw_artykulow=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=undefined; let stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=undefined; let stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=undefined; let stronasubst_nie_usuwaj_styli=undefined; let stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'StronaSubst-name': 'Strona zbiorcza', 'StronaSubst-description-page': 'Wikibooks:StronicowyParser/StronaSubst', 'StronaSubst-latex': 'Zamiast wzorów, wstaw tekst latexowy, w przeciwnym przypadku jest w formie LaTeX.', 'StronaSubst-mathml': 'Zamiast wzorów latexowych, wstaw je w formie znaczników MathML.', 'StronaSubst-opakuj_kategorie_ze_sortowaniem' : 'W stronach zbiorczych opakowuje kategorie, w postaci ramki, dla każdego artykułu z osobna.', 'StronaSubst-ukrywaj_toc' : "Ukrywa, począwszy od jakiegoś poziomu wszystkich tam spisów treści, na stronach zbiorczych.", 'StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach' : "Włącza dymki, nad linkami, w ładowanych dynamicznie stronach, tworząc je inteligentnymi.", 'StronaSubst-aktualizowanie_nazw_artykulow' : 'Aktualizuje na podstawie strony głównej nazwy tylko artykułów.', 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami' : "Aktualizuje sekcje poszczegónych rozdziałów artykułów ładowanych rozdziałami, domyślnie według sekcji w tych jednostkach.", 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika' : 'Aktualizuje, sekcje artykułów ładowanych rozdziałami, na podstawie strony głównej książki, a nie jego artykułów.', 'StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej' : 'Aktualizuje nagłówki strony głównej podręcznika na stronie zbiorczej.', 'StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule' : 'Aktualizuje, brakujące sekcje rozdziałów ładowanych rozdziałami artykułów, według wpisów na stronie głównej, na stronie zbiorczej.', 'StronaSubst-nie_usuwaj_styli' : 'Nie usuwa styli z nagłówków ładowanych stron.', 'StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst' : 'Rozwijaj szablony oznaczone szablonem SzablonSubst.', }); gConfig.register('StronaSubst', {name: mw.msg('StronaSubst-name'), descriptionPage: mw.msg('StronaSubst-description-page')}, [ { name: 'latex', desc: mw.msg('StronaSubst-latex'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_latex'] }, { name: 'mathml', desc: mw.msg('StronaSubst-mathml'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_mathml'] }, { name: 'opakuj_kategorie_ze_sortowaniem', desc: mw.msg('StronaSubst-opakuj_kategorie_ze_sortowaniem'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_opakuj_kategorie_ze_sortowaniem'] }, { name: 'ukrywaj_toc', desc: mw.msg('StronaSubst-ukrywaj_toc'), type: 'integer', deflt: 0, validation: function(n){ if((n<0)||(n==1)){ throw 'Wartość dotycząca poziomu ukrywania spisów treści jest nieprawidłowa!' }; return n; }, legacy: [window, 'wb_stronasubst_ukrywaj_toc'] }, { name: 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach', desc: mw.msg('StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'] }, { name: 'aktualizowanie_nazw_artykulow', desc: mw.msg('StronaSubst-aktualizowanie_nazw_artykulow'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nazw_artykulow'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'] }, { name: 'aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej', desc: mw.msg('StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'] }, { name: 'aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule', desc: mw.msg('StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'] }, { name: 'nie_usuwaj_styli', desc: mw.msg('StronaSubst-nie_usuwaj_styli'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_nie_usuwaj_styli'] }, { name: 'rozwijaj_szablony_oznaczone_szablonem_szablonsubst', desc: mw.msg('StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst'] }, ]); stronasubst_latex = (gConfig.get('StronaSubst', 'latex')==true); stronasubst_mathml = (((gConfig.get('StronaSubst', 'mathml'))&&(!stronasubst_latex))==true); stronasubst_opakuj_kategorie_ze_sortowaniem = (gConfig.get('StronaSubst', 'opakuj_kategorie_ze_sortowaniem')==true); stronasubst_ukrywaj_toc = gConfig.get('StronaSubst', 'ukrywaj_toc'); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach = gConfig.get('StronaSubst', 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'); stronasubst_aktualizowanie_nazw_artykulow = (gConfig.get('StronaSubst', 'aktualizowanie_nazw_artykulow')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami = (gConfig.get('StronaSubst', 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika = (gConfig.get('StronaSubst','aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika')==true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej = (gConfig.get('StronaSubst','aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej')==true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule = (gConfig.get('StronaSubst','aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule')==true); stronasubst_nie_usuwaj_styli = (gConfig.get('StronaSubst','nie_usuwaj_styli')==true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst = (gConfig.get('StronaSubst','rozwijaj_szablony_oznaczone_szablonem_szablonsubst')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} let stronasubst_tablica_tych_samych=new Array(); let stronasubst_tablica_rozdzialow=new Array(); let stronasubst_tablica_alternatywnych_nazw=new Array(); stronasubst_latex=((stronasubst_latex!==undefined)?stronasubst_latex:false); stronasubst_mathml=((stronasubst_mathml!==undefined)?stronasubst_mathml:true); stronasubst_opakuj_kategorie_ze_sortowaniem=((stronasubst_opakuj_kategorie_ze_sortowaniem!==undefined)?stronasubst_opakuj_kategorie_ze_sortowaniem:false); stronasubst_ukrywaj_toc=parseInt(((stronasubst_ukrywaj_toc!==undefined)?stronasubst_ukrywaj_toc:0)); stronasubst_ukrywaj_toc=((!isNaN(stronasubst_ukrywaj_toc))?stronasubst_ukrywaj_toc:0); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=((stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach!==undefined)?stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach:true); stronasubst_aktualizowanie_nazw_artykulow=((stronasubst_aktualizowanie_nazw_artykulow!==undefined)?stronasubst_aktualizowanie_nazw_artykulow:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika:true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=((stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej!==undefined)?stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej:true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=((stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule!==undefined)?stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule:true); stronasubst_nie_usuwaj_styli=((stronasubst_nie_usuwaj_styli!==undefined)?stronasubst_nie_usuwaj_styli:true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=((stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst!==undefined)?stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst:true); async function AnalizujDalejSzablonSubst(element_strony,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let rozdzial_ksiazki="rozdział_książki"; let el=$(element_strony).find('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((el!==null)&&(el.length>0)){ for(let i=0;i<el.length;++i){ let element_el=el[i]; let ksiazka=element_el.querySelector("."+rozdzial_ksiazki); if(ksiazka){ let nazwa_strony=element_el.getAttribute('nazwa_strony'); if(tab_promise2){tab_promise2.push(true);} CzyStronaSubst(element_el,nazwa_strony,tab_promise2); } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } async function WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let title=data.parse.title; let wikikod=data.parse.text['*']; let strona_hash; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let t=tab_uzyskane[0]; if(t==undefined){ console.log("Nie wykryto znacznika lsth_\d+."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } strona_hash=titles[t]; let selflink=document.createElement('div'); selflink.innerHTML=wikikod; let czy_selflink=selflink.getElementsByClassName('selflink'); if((czy_selflink!==null)&&(czy_selflink.length==1)){ let elements=tabstrona[strona_hash]; let a=document.createElement('a');/*Tworzenie linku*/ a.setAttribute('href',StronicowyParser.kodowanie.EncodeHtml(title)); a.innerHTML=strona_hash; let span=document.createElement('span'); span.appendChild(a); span.setAttribute("class","niw link");/*Dodawanie klasy, by inny skript JS to przeanalizował jako link*/ if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo(span); } for(let q in elements){ let element=elements[q]; element.innerHTML=""; element.appendChild(span); $(element).wrap(function(){return "<strong></strong>";}); let przed=document.createTextNode("{{:"); let po=document.createTextNode("}}"); element.insertBefore(przed,element.firstChild); element.appendChild(po); element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=tab_uzyskane[1].innerHTML; let elements=tabstrona[strona_hash]; for(let q in elements){ let element=elements[q]; element.innerHTML=wikikod; StronicowyParser.ZamienLinkiNaLinkiDoStronyAktualnej(element,title,titles); } StronicowyParser.AktualizujSpisTresciModuluStrony(elements,tabs,strona_hash,stronasubst_tablica_alternatywnych_nazw,stronasubst_tablica_tych_samych,stronasubst_tablica_rozdzialow,true,stronasubst_latex,stronasubst_mathml) let strona_start=$(elements[0]).parents(".strona_start"); let rodzic=undefined; if((strona_start!==null)&&(strona_start.length>0)){ rodzic=strona_start[0]; } StronicowyParser.IndeksujHeadLine(rodzic); StronicowyParser.PrzeIndeksujWszystkieTOC(rodzic,true); for(let q in elements){ let element=elements[q]; async function ElementDalszychObliczen(element,tab_promise2){ await StronicowyParser.muteks.zablokuj(true); StronicowyParser.PoprawRozdzialyStron(element); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu(element,tab_promise2);//Funkcja jako gadżet do numerowania rozdziałów. } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element,tab_promise2); } if((StronicowyParser.szablony&&StronicowyParser.szablony.LadujSzablon)&&(stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst)){ let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(element,title,titles,undefined,tab_promise).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(()=>{ if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(element); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} ElementDalszychObliczen(element,tab_promise2); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function ToogleTableOfContainer(panel){ let id=panel.target; let tagname=id.tagName.toUpperCase(); //console.log(czy_klasa,tagname,"TYTAN)"; if(tagname=="BUTTON"){ let czy_klasa_1=$(id).hasClass('sidebar-toc-toggle'); let czy_klasa_2=$(id).hasClass('vector-toc-collapse-button'); if(czy_klasa_1){ $(id).parent().children().last().each((i,element)=>{ let expanded=$(id).attr('aria-expanded'); if(expanded=="false"){ $(element).css('display',"block"); $(element).closest('li').addClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','true'); }else if(expanded=="true"){ $(element).css('display',"none"); $(element).closest('li').removeClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','false'); } }); }else if(czy_klasa_2){ $(id).parents('#sidebar-toc-label').siblings('ul').each((i,element)=>{ let ukryj=$(element).css('display'); if(ukryj!="none"){ $(element).css('display',"none"); id.innerHTML=" pokaż "; }else{ $(element).css('display',"block"); id.innerHTML=" ukryj " } }); } } } let mutekstoogle=new StronicowyParser.Muteks(); async function ScrollTableOfContainer(){ await mutekstoogle.zablokuj(); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').first().each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky.height-15; }); let parser=document.querySelector('#mw-content-text .mw-parser-output'); if(parser){ let rect=parser.getBoundingClientRect(); if(rect.top>=height_sticky){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item').first().addClass('sidebar-toc-list-item-active'); mutekstoogle.odblokuj(); return; } }else{ mutekstoogle.odblokuj(); return; } var str=$('#mw-content-text .mw-parser-output').find('h1, h2, h3, h4, h5, h6'); if((str!==null)&&(str.length>0)){ var naglowek; for(i=0;i<str.length;++i){ let element=str[i]; let rect=element.getBoundingClientRect(); if(rect.top>=height_sticky){ let mw_naglowek=element.querySelector('.mw-headline'); if(mw_naglowek){ let id_naglowek=mw_naglowek.getAttribute('id'); let tak=false; $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+id_naglowek){ let display=window.getComputedStyle(element, null).getPropertyValue('display'); if(display!="none"){ tak=true; } } }); if(tak){ naglowek=id_naglowek; break; } } } } if(naglowek){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+naglowek){ $(element).addClass('sidebar-toc-list-item-active'); } }); } } mutekstoogle.odblokuj(); } async function StronaSubst(element_strony,wikikod,aktualna_strona,tab_promise2){ await StronicowyParser.muteks.zablokuj(); StronicowyParser.NaprawNaglowkiStrony(element_strony,true); let czy_wikikod=wikikod.match(/^[_\s]*$/g); let strona_start=$('#mw-content-text .mw-parser-output .strona_start'); function CzyWszystkieNaglowkiWewnatrzStronaStart(){ let pole=$('#mw-content-text .mw-parser-output').find('h1,h2,h3,h4,h5,h6'); for(let i=0;i<pole.length;++i){ let s=strona_start.find(pole[i]); if((s===null)||(s.length==0)){ return false; } } return true; } if(czy_wikikod){ StronicowyParser.muteks.odblokuj(); let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyArtykulu)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyArtykulu(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } let czy_numerowac=StronicowyParser.CzyWlaczycSideBarTOC(undefined,true); if(czy_numerowac){ czy_numerowac=false; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: StronicowyParser.pageinfo.fullname, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+StronicowyParser.pageinfo.fullname+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ czy_numerowac=true; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ let tab_promise=new Array(true); StronicowyParser.LimitTOC(czy_numerowac,stronasubst_ukrywaj_toc); StronicowyParser.szablony.LadujSzablon(null,null,null,czy_numerowac,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true) StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],czy_numerowac,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(czy_numerowac)){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} return; } let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(null,null,null,undefined,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async (result) => { let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } await StronicowyParser.CzekajNaZakaczenie(tab_promise).then(async (result) => {}).catch(()=>{}); await StronicowyParser.muteks.zablokuj(); if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); let rozdzial_ksiazki="rozdział_książki"; let tagclass=element_strony.getElementsByClassName(rozdzial_ksiazki); if(tagclass===null){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return null; } let liczba_elementow=tagclass.length; if(liczba_elementow==0){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return null; } let titles=new Array(); let tabstrona=new Array(); let tabs=new Array(); let tab_section=new Array(); if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element_strony,tab_promise2); } let tab_hn=new Array(); async function edit_action(numer,strona,hn,link_strona,czy_link_nie_w_naglowku){ await StronicowyParser.muteks.zablokuj(); let linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection===null){ let editsection=document.createElement('span'); editsection.classList.add('mw-editsection'); let bracket_poczatek=document.createElement('span'); bracket_poczatek.classList.add('mw-editsection-bracket') bracket_poczatek.innerHTML="["; let a=document.createElement('a'); a.setAttribute('href',"/w/index.php?title="+StronicowyParser.kodowanie.EncodeHtml(strona,false,true)+"&action=edit"+((numer>0)?("&section="+numer):"")); a.setAttribute('title',"Edytuj artykuł: "+link_strona); a.innerHTML="edytuj"; let bracket_koniec=document.createElement('span'); bracket_koniec.classList.add('mw-editsection-bracket') bracket_koniec.innerHTML="]"; editsection.appendChild(bracket_poczatek); editsection.appendChild(a) editsection.appendChild(bracket_koniec); hn.appendChild(editsection); } linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection!==null){ let mw_editsection_bracket=linkstrony_editsection.querySelector('a'); if(mw_editsection_bracket!==null){ if(czy_link_nie_w_naglowku){ let a=document.createElement('a'); a.innerHTML="artykuł"; a.setAttribute("href",StronicowyParser.kodowanie.EncodeHtml("/wiki/"+StronicowyParser.kodowanie.EncodeHtml(link_strona,false,true))); a.setAttribute("title","Zobacz artykuł: "+link_strona); let span=document.createElement('span'); span.innerHTML="| "; span.setAttribute('class',"mw-editsection-bracket") let czy_ma=$(mw_editsection_bracket).parent().hasClass('link'); if(czy_ma){ let rodzic_mw_editsection_bracket=mw_editsection_bracket.parentNode; let span2=linkstrony_editsection.insertBefore(span, rodzic_mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); }else{ let span2=linkstrony_editsection.insertBefore(span, mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); } } } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(linkstrony_editsection).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); } for (let i=0;i<liczba_elementow;++i){ let tagclassname=tagclass[i]; let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find("."+rozdzial_ksiazki); function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==tagclassname){ return true; } } return false; } if(CzyOdrzucic()){continue;} if(tagclassname.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let class_element=tagclassname.getElementsByClassName('strona_subst'); let element; if((class_element!==null)&&(class_element.length==1)){ element=class_element[0]; if(element.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let czy_link_nie_w_naglowku; let strona_headline=tagclassname.getElementsByClassName('mw-headline'); let link_strona; if((strona_headline!==null)&&(strona_headline.length==1)){ strona_a=strona_headline[0].getElementsByTagName('a'); if((strona_a!==null)&&(strona_a.length==1)){ link_strona=StronicowyParser.kodowanie.DecodeHtml(strona_a[0].getAttribute('href')); if(link_strona!==null){ let re=/\/wiki\//g; if(re.test(link_strona)){ link_strona=link_strona.substring(6,link_strona.length); czy_link_nie_w_naglowku=false; }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } } }else{ link_strona=StronicowyParser.style.UsunStyle(element.innerHTML); czy_link_nie_w_naglowku=true; } } let re = /^[_\s]*$/g; let dopasowanie = re.test(link_strona); if(dopasowanie){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return; }; link_strona=link_strona.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ").replace(/&amp;/g,"&").replace(/&nbsp;/g," "); let hash=link_strona.replace(/^([^#]*)#(.*)$/,"$2").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); /**/ let hn=strona_headline[0].parentNode; if((hn===null)||(!hn.tagName.toUpperCase().match(/^H\d+$/g))){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} tab_section[i]=new Array(hn,link_strona,czy_link_nie_w_naglowku); let strona=link_strona.match(/^[^#]*/g).toString(); async function PraceIteracyjne(tab_promise2){ await StronicowyParser.muteks.zablokuj(); if(/#/g.test(link_strona)){ let hash=link_strona.replace(/^([^#]*)#(.*)$/g,"$2"); if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let numer=hn.innerHTML; numer=parseInt(numer); if(isNaN(numer)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return ;} let tab_c=tab_section[c]; edit_action(numer,tab_c[1].match(/^[^#]*/g).toString(),tab_c[0],tab_c[1],tab_c[2]); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami){ if(!stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); }else{ let uzupelniaj_sekcje_artykulow; if(stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule){ uzupelniaj_sekcje_artykulow="tak"; }else{ uzupelniaj_sekcje_artykulow=""; } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+link_strona+"|analiza=tak|uzupełniaj sekcje artykułów="+uzupelniaj_sekcje_artykulow+"|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; let a=headline.getElementsByTagName('a'); if((a!==null)&&(a.length>0)){ a[0].setAttribute('title',stare); } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } }else{ edit_action(0,strona,hn,link_strona,czy_link_nie_w_naglowku); if(stronasubst_aktualizowanie_nazw_artykulow){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+strona+"|analiza=tak|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceIteracyjne(tab_promise2).then((result) => {}).catch((error) => {}); },1000); /**/ tabs[i]=link_strona; let czy=false; for(let d in titles){ if(titles[d]==link_strona){ czy=true; break; } } if(!czy){ titles[titles.length]=link_strona; } if(tabstrona[link_strona]==null){ tabstrona[link_strona]=new Array(); } let tab=tabstrona[link_strona]; let tablen=tab.length; tabstrona[link_strona][tablen]=element; } async function PraceNaglowki(tab_promise2){ await StronicowyParser.muteks.zablokuj(); let promise; if(element_strony==document){ let namespace=StronicowyParser.pageinfo.namespace; let strona_podrecznika=((namespace!="")?(namespace+":"):"")+StronicowyParser.pageinfo.bookname; promise=Promise.resolve(strona_podrecznika); }else{ let zaan=$(element_strony).parents('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((zaan!==null)&&(zaan.length>0)){ let strona=zaan[0].getAttribute('nazwa_strony'); if(strona){ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](strona); }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } } if(tab_promise2){tab_promise2.push(true);} promise.then(async (strona_podrecznika)=>{ await StronicowyParser.muteks.zablokuj(); let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find(".klasa_nagłówka"); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)){ let g=0; let tab_naglowka=new Array(); let tab_hn=new Array(); for(let z=0;z<klasa_naglowka.length;++z){ let pojedyncza_klasa_naglowka=klasa_naglowka[z]; function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==pojedyncza_klasa_naglowka){ return true; } } return false; } if(CzyOdrzucic()){continue;} let dana_klasa_naglowka=pojedyncza_klasa_naglowka.querySelector('.mw-headline'); if(dana_klasa_naglowka!==null){ if((dana_klasa_naglowka.parentNode!==null)&&(dana_klasa_naglowka.parentNode.tagName.toUpperCase().match(/^[Hh]\d+$/g)) &&(dana_klasa_naglowka.parentNode.parentNode!=null)&&(dana_klasa_naglowka.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&($(dana_klasa_naglowka.parentNode.parentNode).hasClass('klasa_nagłówka'))){ let naglowek=StronicowyParser.style.UsunStyle(dana_klasa_naglowka.innerHTML).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); let ww=1; for(let x=0;x<tab_naglowka.length;++x){ if(tab_naglowka[x]==naglowek){ ++ww; } } naglowek=naglowek+((ww>1)?ww:""); tab_naglowka[g]=naglowek; tab_hn[g]=dana_klasa_naglowka.parentNode; if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, na stronie głównej podręcznika, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let nazwa_podrecznika=strona_podrecznika.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") let naglowek_sekcji_podrecznika=tab_naglowka[c].replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") edit_action(c+1,nazwa_podrecznika,tab_hn[c],nazwa_podrecznika+"#"+naglowek_sekcji_podrecznika,true); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();return;} let headline=tab_hn[c].querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } ++g; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceNaglowki(tab_promise2).then((result) => {}).catch((error) => {}); },1000); function RozwazajNaglowki(){ let toc_fun=new StronicowyParser.ListaNodeTOC(); if((toc_fun.toc!==null)&&(toc_fun.toc.length>0)){ for(let w=0;w<toc_fun.toc.length;++w){ let czy_side_bar_toc=toc_fun.CzySideBarToc(toc_fun.toc[w]); let ile_jest=0; let li=toc_fun.toc[w].getElementsByTagName('li'); if((li!==null)&&(li.length>0)){ for(let dd=0;dd<li.length;++dd){ let element_li=li[dd]; let tocnumber;let toctext_wartosc; if(czy_side_bar_toc){ tocnumber=element_li.querySelector('.sidebar-toc-numb'); if(!tocnumber){continue;} toctext_wartosc=element_li.querySelector('.sidebar-toc-text').innerHTML.replace(new RegExp(StronicowyParser.wzor.BezZnakowSpecjalnych(tocnumber.outerHTML),"g"),""); }else{ tocnumber=element_li.querySelector('.tocnumber'); toctext_wartosc=element_li.querySelector('.toctext').innerHTML; } if((tocnumber!==null)&&(toctext_wartosc!==null)){ let czy_jest=undefined; let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)&&(klasa_naglowka[ile_jest]!=null)){ let element_klasa_naglowka=klasa_naglowka[ile_jest]; let headline=element_klasa_naglowka.querySelector('.mw-headline'); if((headline!==null) &&(headline.parentNode!==null) &&(headline.parentNode.tagName.toUpperCase().match(/^H\d+$/)) &&(headline.parentNode.parentNode!==null) &&(headline.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&(headline.parentNode.parentNode===element_klasa_naglowka) ){ let element_a; if(czy_side_bar_toc){ element_a=tocnumber.parentNode.parentNode; }else{ element_a=tocnumber.parentNode; } if(element_a.tagName.toUpperCase()=="A"){ let href=StronicowyParser.kodowanie.DecodeHtml(element_a.getAttribute('href')); if(href!==null){ href=href.replace(/^#/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); let id_headline=headline.getAttribute('id'); if(id_headline!==null){ id_headline=id_headline.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); if(href!=id_headline){czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} if(czy_jest===undefined){ile_jest+=1;} if((czy_jest===undefined)||(!czy_jest)){ let element_toctext=StronicowyParser.style.UsunStyle(toctext_wartosc).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," "); if(stronasubst_tablica_rozdzialow[element_toctext]==null){ stronasubst_tablica_rozdzialow[element_toctext]=new Array(tocnumber); }else{ stronasubst_tablica_rozdzialow[element_toctext].push(tocnumber); } } } } } } } } StronicowyParser.LimitTOC(true,stronasubst_ukrywaj_toc); if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],true,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(StronicowyParser.CzyWlaczycSideBarTOC(undefined,true))){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } RozwazajNaglowki(); if(stronasubst_mathml){ $("div.toc ul > li > a > span.toctext").toggleClass("mathml"); $("div.toc_spis ul > li > a > span.toctext").toggleClass("mathml"); $("div.mw-table-of-contents-container > nav.sidebar-toc ul > li > a > div.sidebar-toc-text").toggleClass("mathml"); } function Strona(strona){ let strona_re=StronicowyParser.wzor.BezZnakowSpecjalnych(strona); let re=new RegExp("^\\s*"+strona_re+"\\s*#","g"); return re; } function CzyArtykulyZNaglowkamiDlaStrony(re){ for(let s in titles){ let czy_hash=titles[s].match(re); if(czy_hash){ return true; } } return false; } let catlinks_fun=new StronicowyParser.LinkiKategorii(); await catlinks_fun.PobierzKategorieStrony(); for ( let t in titles ) { let strona=titles[t].match(/^[^#]*/g).toString(); let szablon_artykulu; let re_strona=Strona(strona); let czy_naglowki=CzyArtykulyZNaglowkamiDlaStrony(re_strona); if(!czy_naglowki){ szablon_artykulu="{{:"+strona+"}}"; }else{ /*---------------------------------*/ let rozdzial1=null; let re=/^([^#]*)#(.*)$/g; if(re.test(titles[t])){ rozdzial1=titles[t].replace(re,"$2"); rozdzial1=rozdzial1.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial1="";} let rozdzial2=null; let tit=titles[parseInt(t)+1]; if( tit && re.test(tit) && re_strona.test(tit)){ rozdzial2=tit.replace(re,"$2"); rozdzial2=rozdzial2.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial2="";} /*---------------------------*/ szablon_artykulu="{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|TekstRozdziałuStrony|"+strona+"|"+rozdzial1+"|"+rozdzial2+"}}}}"; } szablon_artykulu="{{PrzytnijTekst|"+szablon_artykulu+"}}"; if(stronasubst_opakuj_kategorie_ze_sortowaniem){ szablon_artykulu="{{OpakujKategorieZeSortowaniem|"+szablon_artykulu+"}}" } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text|categories', title: strona, text: "<div class=\"hn hn_"+t+"\">\n"+szablon_artykulu+"\n</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); catlinks_fun.AnalizaKategorii(data).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);} WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2).then((result) => {}).catch((error) => {}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function CzyszczenieZZdarzeńTableOfContent(){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } } } CzyszczenieZZdarzeńTableOfContent(); let tab_promise2=new StronicowyParser.SugerowaneObiekty(); async function CzyStronaSubst(element,aktualna_strona,tab_promise2){ if(tab_promise2){tab_promise2.push(true);} await StronicowyParser.muteks.zablokuj(); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronaSubst}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.expandtemplates.wikitext; if((wikikod!==null)&&(aktualna_strona!==null)){ if(tab_promise2){tab_promise2.push(true);} StronaSubst(element,wikikod,aktualna_strona,tab_promise2).then((result) => {}).catch((error) => {}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } let aktualna_strona=StronicowyParser.pageinfo.fullname; if(tab_promise2){tab_promise2.push(true,true);} CzyStronaSubst(document,aktualna_strona,tab_promise2); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} function Progress(){ var c=document.createElement('div'); c.setAttribute("id","pasek_postępu") c.setAttribute('style','margin-top:-2px;margin-left:-2px;position:absolute;width:250px;height:80px;border:1px solid black;box-sizing:border-box;padding:5px;background-color:white;display:flex;flex-direction:column;'); var label=document.createElement('label'); label.setAttribute('for','file1'); label.innerHTML="<span style=\"color:blue;\">Ukończone wątki: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%'); var span=document.createElement('span'); span.innerHTML="0%"; var span_0=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file1') progress.setAttribute('style','margin-left:5px;width:95%;height:auto;'); progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_1=c.appendChild(progress); var label=document.createElement('label'); label.setAttribute('for','file2'); label.innerHTML="<span style=\"color:blue;\">Zwolnione blokaty: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_1=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file2') progress.setAttribute('style','margin-left:5px;width:95%;height:auto') progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_2=c.appendChild(progress); function PozycjaXY(){ c.style.top=(window.scrollY+document.documentElement.clientHeight-parseFloat(c.style.height))+"px"; c.style.left=(window.scrollX+document.documentElement.clientWidth-parseFloat(c.style.width))+"px"; } document.querySelector('body').appendChild(c); PozycjaXY(); $(window).on('scroll',PozycjaXY); $(window).on('resize',PozycjaXY); return new Array(element_body_progress_1,element_body_progress_2,span_0,span_1); } var arr; function __FUNKCJA(arr){ arr[0].setAttribute("value","0"); arr[1].setAttribute("value","0"); let dodatnie_0=tab_promise2.lengthPlus; let ujemne_0=tab_promise2.lengthMinus; let dodatnie_1=StronicowyParser.muteks.LiczbaBlokatPlus; let ujemne_1=StronicowyParser.muteks.LiczbaBlokatMinus; let postep_0=((dodatnie_0>0)?((ujemne_0/dodatnie_0)*100):0); let postep_1=((dodatnie_1>0)?((ujemne_1/dodatnie_1)*100):0); arr[0].setAttribute("value",postep_0); arr[1].setAttribute("value",postep_1); arr[2].innerHTML=(parseInt(postep_0*1000)/1000)+"%"; arr[3].innerHTML=(parseInt(postep_1*1000)/1000)+"%"; } StronicowyParser.CzekajNaZakaczenie(tab_promise2,null,StronicowyParser.muteks,(tab_promise)=>{arr=Progress();__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);setTimeout(function(){let node_postep=document.getElementById('pasek_postępu');$(node_postep).remove();},2000);}).then(async (result) => {}).catch(()=>{}); }; StronicowyParser.WyswietlStronyKsiazki().then((result) => {}).catch((error) => {}); }); 0fvzfjvm8f5cx42rp6k9lebdc071gqk 437319 437318 2022-08-09T17:11:37Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.WyswietlStronyKsiazki=async function(){ await StronicowyParser.muteks.zablokuj(); let stronasubst_latex=undefined; let stronasubst_mathml=undefined; let stronasubst_opakuj_kategorie_ze_sortowaniem=undefined; let stronasubst_ukrywaj_toc=undefined; let stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=undefined; let stronasubst_aktualizowanie_nazw_artykulow=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=undefined; let stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=undefined; let stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=undefined; let stronasubst_nie_usuwaj_styli=undefined; let stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'StronaSubst-name': 'Strona zbiorcza', 'StronaSubst-description-page': 'Wikibooks:StronicowyParser/StronaSubst', 'StronaSubst-latex': 'Zamiast wzorów, wstaw tekst latexowy, w przeciwnym przypadku jest w formie LaTeX.', 'StronaSubst-mathml': 'Zamiast wzorów latexowych, wstaw je w formie znaczników MathML.', 'StronaSubst-opakuj_kategorie_ze_sortowaniem' : 'W stronach zbiorczych opakowuje kategorie, w postaci ramki, dla każdego artykułu z osobna.', 'StronaSubst-ukrywaj_toc' : "Ukrywa, począwszy od jakiegoś poziomu wszystkich tam spisów treści, na stronach zbiorczych.", 'StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach' : "Włącza dymki, nad linkami, w ładowanych dynamicznie stronach, tworząc je inteligentnymi.", 'StronaSubst-aktualizowanie_nazw_artykulow' : 'Aktualizuje na podstawie strony głównej nazwy tylko artykułów.', 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami' : "Aktualizuje sekcje poszczegónych rozdziałów artykułów ładowanych rozdziałami, domyślnie według sekcji w tych jednostkach.", 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika' : 'Aktualizuje, sekcje artykułów ładowanych rozdziałami, na podstawie strony głównej książki, a nie jego artykułów.', 'StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej' : 'Aktualizuje nagłówki strony głównej podręcznika na stronie zbiorczej.', 'StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule' : 'Aktualizuje, brakujące sekcje rozdziałów ładowanych rozdziałami artykułów, według wpisów na stronie głównej, na stronie zbiorczej.', 'StronaSubst-nie_usuwaj_styli' : 'Nie usuwa styli z nagłówków ładowanych stron.', 'StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst' : 'Rozwijaj szablony oznaczone szablonem SzablonSubst.', }); gConfig.register('StronaSubst', {name: mw.msg('StronaSubst-name'), descriptionPage: mw.msg('StronaSubst-description-page')}, [ { name: 'latex', desc: mw.msg('StronaSubst-latex'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_latex'] }, { name: 'mathml', desc: mw.msg('StronaSubst-mathml'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_mathml'] }, { name: 'opakuj_kategorie_ze_sortowaniem', desc: mw.msg('StronaSubst-opakuj_kategorie_ze_sortowaniem'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_opakuj_kategorie_ze_sortowaniem'] }, { name: 'ukrywaj_toc', desc: mw.msg('StronaSubst-ukrywaj_toc'), type: 'integer', deflt: 0, validation: function(n){ if((n<0)||(n==1)){ throw 'Wartość dotycząca poziomu ukrywania spisów treści jest nieprawidłowa!' }; return n; }, legacy: [window, 'wb_stronasubst_ukrywaj_toc'] }, { name: 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach', desc: mw.msg('StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'] }, { name: 'aktualizowanie_nazw_artykulow', desc: mw.msg('StronaSubst-aktualizowanie_nazw_artykulow'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nazw_artykulow'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'] }, { name: 'aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej', desc: mw.msg('StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'] }, { name: 'aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule', desc: mw.msg('StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'] }, { name: 'nie_usuwaj_styli', desc: mw.msg('StronaSubst-nie_usuwaj_styli'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_nie_usuwaj_styli'] }, { name: 'rozwijaj_szablony_oznaczone_szablonem_szablonsubst', desc: mw.msg('StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst'] }, ]); stronasubst_latex = (gConfig.get('StronaSubst', 'latex')==true); stronasubst_mathml = (((gConfig.get('StronaSubst', 'mathml'))&&(!stronasubst_latex))==true); stronasubst_opakuj_kategorie_ze_sortowaniem = (gConfig.get('StronaSubst', 'opakuj_kategorie_ze_sortowaniem')==true); stronasubst_ukrywaj_toc = gConfig.get('StronaSubst', 'ukrywaj_toc'); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach = gConfig.get('StronaSubst', 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'); stronasubst_aktualizowanie_nazw_artykulow = (gConfig.get('StronaSubst', 'aktualizowanie_nazw_artykulow')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami = (gConfig.get('StronaSubst', 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika = (gConfig.get('StronaSubst','aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika')==true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej = (gConfig.get('StronaSubst','aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej')==true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule = (gConfig.get('StronaSubst','aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule')==true); stronasubst_nie_usuwaj_styli = (gConfig.get('StronaSubst','nie_usuwaj_styli')==true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst = (gConfig.get('StronaSubst','rozwijaj_szablony_oznaczone_szablonem_szablonsubst')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} let stronasubst_tablica_tych_samych=new Array(); let stronasubst_tablica_rozdzialow=new Array(); let stronasubst_tablica_alternatywnych_nazw=new Array(); stronasubst_latex=((stronasubst_latex!==undefined)?stronasubst_latex:false); stronasubst_mathml=((stronasubst_mathml!==undefined)?stronasubst_mathml:true); stronasubst_opakuj_kategorie_ze_sortowaniem=((stronasubst_opakuj_kategorie_ze_sortowaniem!==undefined)?stronasubst_opakuj_kategorie_ze_sortowaniem:false); stronasubst_ukrywaj_toc=parseInt(((stronasubst_ukrywaj_toc!==undefined)?stronasubst_ukrywaj_toc:0)); stronasubst_ukrywaj_toc=((!isNaN(stronasubst_ukrywaj_toc))?stronasubst_ukrywaj_toc:0); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=((stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach!==undefined)?stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach:true); stronasubst_aktualizowanie_nazw_artykulow=((stronasubst_aktualizowanie_nazw_artykulow!==undefined)?stronasubst_aktualizowanie_nazw_artykulow:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika:true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=((stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej!==undefined)?stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej:true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=((stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule!==undefined)?stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule:true); stronasubst_nie_usuwaj_styli=((stronasubst_nie_usuwaj_styli!==undefined)?stronasubst_nie_usuwaj_styli:true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=((stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst!==undefined)?stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst:true); async function AnalizujDalejSzablonSubst(element_strony,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let rozdzial_ksiazki="rozdział_książki"; let el=$(element_strony).find('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((el!==null)&&(el.length>0)){ for(let i=0;i<el.length;++i){ let element_el=el[i]; let ksiazka=element_el.querySelector("."+rozdzial_ksiazki); if(ksiazka){ let nazwa_strony=element_el.getAttribute('nazwa_strony'); if(tab_promise2){tab_promise2.push(true);} CzyStronaSubst(element_el,nazwa_strony,tab_promise2); } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } async function WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let title=data.parse.title; let wikikod=data.parse.text['*']; let strona_hash; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let t=tab_uzyskane[0]; if(t==undefined){ console.log("Nie wykryto znacznika lsth_\d+."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } strona_hash=titles[t]; let selflink=document.createElement('div'); selflink.innerHTML=wikikod; let czy_selflink=selflink.getElementsByClassName('selflink'); if((czy_selflink!==null)&&(czy_selflink.length==1)){ let elements=tabstrona[strona_hash]; let a=document.createElement('a');/*Tworzenie linku*/ a.setAttribute('href',StronicowyParser.kodowanie.EncodeHtml(title)); a.innerHTML=strona_hash; let span=document.createElement('span'); span.appendChild(a); span.setAttribute("class","niw link");/*Dodawanie klasy, by inny skript JS to przeanalizował jako link*/ if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo(span); } for(let q in elements){ let element=elements[q]; element.innerHTML=""; element.appendChild(span); $(element).wrap(function(){return "<strong></strong>";}); let przed=document.createTextNode("{{:"); let po=document.createTextNode("}}"); element.insertBefore(przed,element.firstChild); element.appendChild(po); element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=tab_uzyskane[1].innerHTML; let elements=tabstrona[strona_hash]; for(let q in elements){ let element=elements[q]; element.innerHTML=wikikod; StronicowyParser.ZamienLinkiNaLinkiDoStronyAktualnej(element,title,titles); } StronicowyParser.AktualizujSpisTresciModuluStrony(elements,tabs,strona_hash,stronasubst_tablica_alternatywnych_nazw,stronasubst_tablica_tych_samych,stronasubst_tablica_rozdzialow,true,stronasubst_latex,stronasubst_mathml) let strona_start=$(elements[0]).parents(".strona_start"); let rodzic=undefined; if((strona_start!==null)&&(strona_start.length>0)){ rodzic=strona_start[0]; } StronicowyParser.IndeksujHeadLine(rodzic); StronicowyParser.PrzeIndeksujWszystkieTOC(rodzic,true); for(let q in elements){ let element=elements[q]; async function ElementDalszychObliczen(element,tab_promise2){ await StronicowyParser.muteks.zablokuj(true); StronicowyParser.PoprawRozdzialyStron(element); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu(element,tab_promise2);//Funkcja jako gadżet do numerowania rozdziałów. } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element,tab_promise2); } if((StronicowyParser.szablony&&StronicowyParser.szablony.LadujSzablon)&&(stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst)){ let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(element,title,titles,undefined,tab_promise).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(()=>{ if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(element); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} ElementDalszychObliczen(element,tab_promise2); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function ToogleTableOfContainer(panel){ let id=panel.target; let tagname=id.tagName.toUpperCase(); //console.log(czy_klasa,tagname,"TYTAN)"; if(tagname=="BUTTON"){ let czy_klasa_1=$(id).hasClass('sidebar-toc-toggle'); let czy_klasa_2=$(id).hasClass('vector-toc-collapse-button'); if(czy_klasa_1){ $(id).parent().children().last().each((i,element)=>{ let expanded=$(id).attr('aria-expanded'); if(expanded=="false"){ $(element).css('display',"block"); $(element).closest('li').addClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','true'); }else if(expanded=="true"){ $(element).css('display',"none"); $(element).closest('li').removeClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','false'); } }); }else if(czy_klasa_2){ $(id).parents('#sidebar-toc-label').siblings('ul').each((i,element)=>{ let ukryj=$(element).css('display'); if(ukryj!="none"){ $(element).css('display',"none"); id.innerHTML=" pokaż "; }else{ $(element).css('display',"block"); id.innerHTML=" ukryj " } }); } } } let mutekstoogle=new StronicowyParser.Muteks(); async function ScrollTableOfContainer(){ await mutekstoogle.zablokuj(); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').first().each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky.height-15; }); let parser=document.querySelector('#mw-content-text .mw-parser-output'); if(parser){ let rect=parser.getBoundingClientRect(); if(rect.top>=height_sticky){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item').first().addClass('sidebar-toc-list-item-active'); mutekstoogle.odblokuj(); return; } }else{ mutekstoogle.odblokuj(); return; } var str=$('#mw-content-text .mw-parser-output').find('h1, h2, h3, h4, h5, h6'); if((str!==null)&&(str.length>0)){ var naglowek; for(i=0;i<str.length;++i){ let element=str[i]; let rect=element.getBoundingClientRect(); if(rect.top>=height_sticky){ let mw_naglowek=element.querySelector('.mw-headline'); if(mw_naglowek){ let id_naglowek=mw_naglowek.getAttribute('id'); let tak=false; $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+id_naglowek){ let display=window.getComputedStyle(element, null).getPropertyValue('display'); if(display!="none"){ tak=true; } } }); if(tak){ naglowek=id_naglowek; break; } } } } if(naglowek){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+naglowek){ $(element).addClass('sidebar-toc-list-item-active'); } }); } } mutekstoogle.odblokuj(); } async function StronaSubst(element_strony,wikikod,aktualna_strona,tab_promise2){ await StronicowyParser.muteks.zablokuj(); StronicowyParser.NaprawNaglowkiStrony(element_strony,true); let czy_wikikod=wikikod.match(/^[_\s]*$/g); let strona_start=$('#mw-content-text .mw-parser-output .strona_start'); function CzyWszystkieNaglowkiWewnatrzStronaStart(){ let pole=$('#mw-content-text .mw-parser-output').find('h1,h2,h3,h4,h5,h6'); for(let i=0;i<pole.length;++i){ let s=strona_start.find(pole[i]); if((s===null)||(s.length==0)){ return false; } } return true; } if(czy_wikikod){ StronicowyParser.muteks.odblokuj(); let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyArtykulu)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyArtykulu(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } let czy_numerowac=StronicowyParser.CzyWlaczycSideBarTOC(undefined,true); if(czy_numerowac){ czy_numerowac=false; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: StronicowyParser.pageinfo.fullname, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+StronicowyParser.pageinfo.fullname+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ czy_numerowac=true; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ let tab_promise=new Array(true); StronicowyParser.LimitTOC(czy_numerowac,stronasubst_ukrywaj_toc); StronicowyParser.szablony.LadujSzablon(null,null,null,czy_numerowac,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true) StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],czy_numerowac,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(czy_numerowac)){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} return; } let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(null,null,null,undefined,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async (result) => { let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } await StronicowyParser.CzekajNaZakaczenie(tab_promise).then(async (result) => {}).catch(()=>{}); await StronicowyParser.muteks.zablokuj(); if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); let rozdzial_ksiazki="rozdział_książki"; let tagclass=element_strony.getElementsByClassName(rozdzial_ksiazki); if(tagclass===null){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return null; } let liczba_elementow=tagclass.length; if(liczba_elementow==0){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return null; } let titles=new Array(); let tabstrona=new Array(); let tabs=new Array(); let tab_section=new Array(); if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element_strony,tab_promise2); } let tab_hn=new Array(); async function edit_action(numer,strona,hn,link_strona,czy_link_nie_w_naglowku){ await StronicowyParser.muteks.zablokuj(); let linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection===null){ let editsection=document.createElement('span'); editsection.classList.add('mw-editsection'); let bracket_poczatek=document.createElement('span'); bracket_poczatek.classList.add('mw-editsection-bracket') bracket_poczatek.innerHTML="["; let a=document.createElement('a'); a.setAttribute('href',"/w/index.php?title="+StronicowyParser.kodowanie.EncodeHtml(strona,false,true)+"&action=edit"+((numer>0)?("&section="+numer):"")); a.setAttribute('title',"Edytuj artykuł: "+link_strona); a.innerHTML="edytuj"; let bracket_koniec=document.createElement('span'); bracket_koniec.classList.add('mw-editsection-bracket') bracket_koniec.innerHTML="]"; editsection.appendChild(bracket_poczatek); editsection.appendChild(a) editsection.appendChild(bracket_koniec); hn.appendChild(editsection); } linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection!==null){ let mw_editsection_bracket=linkstrony_editsection.querySelector('a'); if(mw_editsection_bracket!==null){ if(czy_link_nie_w_naglowku){ let a=document.createElement('a'); a.innerHTML="artykuł"; a.setAttribute("href",StronicowyParser.kodowanie.EncodeHtml("/wiki/"+StronicowyParser.kodowanie.EncodeHtml(link_strona,false,true))); a.setAttribute("title","Zobacz artykuł: "+link_strona); let span=document.createElement('span'); span.innerHTML="| "; span.setAttribute('class',"mw-editsection-bracket") let czy_ma=$(mw_editsection_bracket).parent().hasClass('link'); if(czy_ma){ let rodzic_mw_editsection_bracket=mw_editsection_bracket.parentNode; let span2=linkstrony_editsection.insertBefore(span, rodzic_mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); }else{ let span2=linkstrony_editsection.insertBefore(span, mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); } } } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(linkstrony_editsection).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); } for (let i=0;i<liczba_elementow;++i){ let tagclassname=tagclass[i]; let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find("."+rozdzial_ksiazki); function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==tagclassname){ return true; } } return false; } if(CzyOdrzucic()){continue;} if(tagclassname.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let class_element=tagclassname.getElementsByClassName('strona_subst'); let element; if((class_element!==null)&&(class_element.length==1)){ element=class_element[0]; if(element.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let czy_link_nie_w_naglowku; let strona_headline=tagclassname.getElementsByClassName('mw-headline'); let link_strona; if((strona_headline!==null)&&(strona_headline.length==1)){ strona_a=strona_headline[0].getElementsByTagName('a'); if((strona_a!==null)&&(strona_a.length==1)){ link_strona=StronicowyParser.kodowanie.DecodeHtml(strona_a[0].getAttribute('href')); if(link_strona!==null){ let re=/\/wiki\//g; if(re.test(link_strona)){ link_strona=link_strona.substring(6,link_strona.length); czy_link_nie_w_naglowku=false; }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } } }else{ link_strona=StronicowyParser.style.UsunStyle(element.innerHTML); czy_link_nie_w_naglowku=true; } } let re = /^[_\s]*$/g; let dopasowanie = re.test(link_strona); if(dopasowanie){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return; }; link_strona=link_strona.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ").replace(/&amp;/g,"&").replace(/&nbsp;/g," "); let hash=link_strona.replace(/^([^#]*)#(.*)$/,"$2").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); /**/ let hn=strona_headline[0].parentNode; if((hn===null)||(!hn.tagName.toUpperCase().match(/^H\d+$/g))){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} tab_section[i]=new Array(hn,link_strona,czy_link_nie_w_naglowku); let strona=link_strona.match(/^[^#]*/g).toString(); async function PraceIteracyjne(tab_promise2){ await StronicowyParser.muteks.zablokuj(); if(/#/g.test(link_strona)){ let hash=link_strona.replace(/^([^#]*)#(.*)$/g,"$2"); if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let numer=hn.innerHTML; numer=parseInt(numer); if(isNaN(numer)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return ;} let tab_c=tab_section[c]; edit_action(numer,tab_c[1].match(/^[^#]*/g).toString(),tab_c[0],tab_c[1],tab_c[2]); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami){ if(!stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); }else{ let uzupelniaj_sekcje_artykulow; if(stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule){ uzupelniaj_sekcje_artykulow="tak"; }else{ uzupelniaj_sekcje_artykulow=""; } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+link_strona+"|analiza=tak|uzupełniaj sekcje artykułów="+uzupelniaj_sekcje_artykulow+"|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; let a=headline.getElementsByTagName('a'); if((a!==null)&&(a.length>0)){ a[0].setAttribute('title',stare); } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } }else{ edit_action(0,strona,hn,link_strona,czy_link_nie_w_naglowku); if(stronasubst_aktualizowanie_nazw_artykulow){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+strona+"|analiza=tak|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceIteracyjne(tab_promise2).then((result) => {}).catch((error) => {}); },1000); /**/ tabs[i]=link_strona; let czy=false; for(let d in titles){ if(titles[d]==link_strona){ czy=true; break; } } if(!czy){ titles[titles.length]=link_strona; } if(tabstrona[link_strona]==null){ tabstrona[link_strona]=new Array(); } let tab=tabstrona[link_strona]; let tablen=tab.length; tabstrona[link_strona][tablen]=element; } async function PraceNaglowki(tab_promise2){ await StronicowyParser.muteks.zablokuj(); let promise; if(element_strony==document){ let namespace=StronicowyParser.pageinfo.namespace; let strona_podrecznika=((namespace!="")?(namespace+":"):"")+StronicowyParser.pageinfo.bookname; promise=Promise.resolve(strona_podrecznika); }else{ let zaan=$(element_strony).parents('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((zaan!==null)&&(zaan.length>0)){ let strona=zaan[0].getAttribute('nazwa_strony'); if(strona){ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](strona); }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } } if(tab_promise2){tab_promise2.push(true);} promise.then(async (strona_podrecznika)=>{ await StronicowyParser.muteks.zablokuj(); let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find(".klasa_nagłówka"); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)){ let g=0; let tab_naglowka=new Array(); let tab_hn=new Array(); for(let z=0;z<klasa_naglowka.length;++z){ let pojedyncza_klasa_naglowka=klasa_naglowka[z]; function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==pojedyncza_klasa_naglowka){ return true; } } return false; } if(CzyOdrzucic()){continue;} let dana_klasa_naglowka=pojedyncza_klasa_naglowka.querySelector('.mw-headline'); if(dana_klasa_naglowka!==null){ if((dana_klasa_naglowka.parentNode!==null)&&(dana_klasa_naglowka.parentNode.tagName.toUpperCase().match(/^[Hh]\d+$/g)) &&(dana_klasa_naglowka.parentNode.parentNode!=null)&&(dana_klasa_naglowka.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&($(dana_klasa_naglowka.parentNode.parentNode).hasClass('klasa_nagłówka'))){ let naglowek=StronicowyParser.style.UsunStyle(dana_klasa_naglowka.innerHTML).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); let ww=1; for(let x=0;x<tab_naglowka.length;++x){ if(tab_naglowka[x]==naglowek){ ++ww; } } naglowek=naglowek+((ww>1)?ww:""); tab_naglowka[g]=naglowek; tab_hn[g]=dana_klasa_naglowka.parentNode; if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, na stronie głównej podręcznika, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let nazwa_podrecznika=strona_podrecznika.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") let naglowek_sekcji_podrecznika=tab_naglowka[c].replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") edit_action(c+1,nazwa_podrecznika,tab_hn[c],nazwa_podrecznika+"#"+naglowek_sekcji_podrecznika,true); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();return;} let headline=tab_hn[c].querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } ++g; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceNaglowki(tab_promise2).then((result) => {}).catch((error) => {}); },1000); function RozwazajNaglowki(){ let toc_fun=new StronicowyParser.ListaNodeTOC(); if((toc_fun.toc!==null)&&(toc_fun.toc.length>0)){ for(let w=0;w<toc_fun.toc.length;++w){ let czy_side_bar_toc=toc_fun.CzySideBarToc(toc_fun.toc[w]); let ile_jest=0; let li=toc_fun.toc[w].getElementsByTagName('li'); if((li!==null)&&(li.length>0)){ for(let dd=0;dd<li.length;++dd){ let element_li=li[dd]; let tocnumber;let toctext_wartosc; if(czy_side_bar_toc){ tocnumber=element_li.querySelector('.sidebar-toc-numb'); if(!tocnumber){continue;} toctext_wartosc=element_li.querySelector('.sidebar-toc-text').innerHTML.replace(new RegExp(StronicowyParser.wzor.BezZnakowSpecjalnych(tocnumber.outerHTML),"g"),""); }else{ tocnumber=element_li.querySelector('.tocnumber'); toctext_wartosc=element_li.querySelector('.toctext').innerHTML; } if((tocnumber!==null)&&(toctext_wartosc!==null)){ let czy_jest=undefined; let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)&&(klasa_naglowka[ile_jest]!=null)){ let element_klasa_naglowka=klasa_naglowka[ile_jest]; let headline=element_klasa_naglowka.querySelector('.mw-headline'); if((headline!==null) &&(headline.parentNode!==null) &&(headline.parentNode.tagName.toUpperCase().match(/^H\d+$/)) &&(headline.parentNode.parentNode!==null) &&(headline.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&(headline.parentNode.parentNode===element_klasa_naglowka) ){ let element_a; if(czy_side_bar_toc){ element_a=tocnumber.parentNode.parentNode; }else{ element_a=tocnumber.parentNode; } if(element_a.tagName.toUpperCase()=="A"){ let href=StronicowyParser.kodowanie.DecodeHtml(element_a.getAttribute('href')); if(href!==null){ href=href.replace(/^#/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); let id_headline=headline.getAttribute('id'); if(id_headline!==null){ id_headline=id_headline.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); if(href!=id_headline){czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} if(czy_jest===undefined){ile_jest+=1;} if((czy_jest===undefined)||(!czy_jest)){ let element_toctext=StronicowyParser.style.UsunStyle(toctext_wartosc).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," "); if(stronasubst_tablica_rozdzialow[element_toctext]==null){ stronasubst_tablica_rozdzialow[element_toctext]=new Array(tocnumber); }else{ stronasubst_tablica_rozdzialow[element_toctext].push(tocnumber); } } } } } } } } StronicowyParser.LimitTOC(true,stronasubst_ukrywaj_toc); if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],true,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(StronicowyParser.CzyWlaczycSideBarTOC(undefined,true))){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } RozwazajNaglowki(); if(stronasubst_mathml){ $("div.toc ul > li > a > span.toctext").toggleClass("mathml"); $("div.toc_spis ul > li > a > span.toctext").toggleClass("mathml"); $("div.mw-table-of-contents-container > nav.sidebar-toc ul > li > a > div.sidebar-toc-text").toggleClass("mathml"); } function Strona(strona){ let strona_re=StronicowyParser.wzor.BezZnakowSpecjalnych(strona); let re=new RegExp("^\\s*"+strona_re+"\\s*#","g"); return re; } function CzyArtykulyZNaglowkamiDlaStrony(re){ for(let s in titles){ let czy_hash=titles[s].match(re); if(czy_hash){ return true; } } return false; } let catlinks_fun=new StronicowyParser.LinkiKategorii(); await catlinks_fun.PobierzKategorieStrony(); for ( let t in titles ) { let strona=titles[t].match(/^[^#]*/g).toString(); let szablon_artykulu; let re_strona=Strona(strona); let czy_naglowki=CzyArtykulyZNaglowkamiDlaStrony(re_strona); if(!czy_naglowki){ szablon_artykulu="{{:"+strona+"}}"; }else{ /*---------------------------------*/ let rozdzial1=null; let re=/^([^#]*)#(.*)$/g; if(re.test(titles[t])){ rozdzial1=titles[t].replace(re,"$2"); rozdzial1=rozdzial1.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial1="";} let rozdzial2=null; let tit=titles[parseInt(t)+1]; if( tit && re.test(tit) && re_strona.test(tit)){ rozdzial2=tit.replace(re,"$2"); rozdzial2=rozdzial2.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial2="";} /*---------------------------*/ szablon_artykulu="{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|TekstRozdziałuStrony|"+strona+"|"+rozdzial1+"|"+rozdzial2+"}}}}"; } szablon_artykulu="{{PrzytnijTekst|"+szablon_artykulu+"}}"; if(stronasubst_opakuj_kategorie_ze_sortowaniem){ szablon_artykulu="{{OpakujKategorieZeSortowaniem|"+szablon_artykulu+"}}" } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text|categories', title: strona, text: "<div class=\"hn hn_"+t+"\">\n"+szablon_artykulu+"\n</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); catlinks_fun.AnalizaKategorii(data).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);} WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2).then((result) => {}).catch((error) => {}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function CzyszczenieZZdarzeńTableOfContent(){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } } } CzyszczenieZZdarzeńTableOfContent(); let tab_promise2=new StronicowyParser.SugerowaneObiekty(); async function CzyStronaSubst(element,aktualna_strona,tab_promise2){ if(tab_promise2){tab_promise2.push(true);} await StronicowyParser.muteks.zablokuj(); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronaSubst}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.expandtemplates.wikitext; if((wikikod!==null)&&(aktualna_strona!==null)){ if(tab_promise2){tab_promise2.push(true);} StronaSubst(element,wikikod,aktualna_strona,tab_promise2).then((result) => {}).catch((error) => {}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } let aktualna_strona=StronicowyParser.pageinfo.fullname; if(tab_promise2){tab_promise2.push(true,true);} CzyStronaSubst(document,aktualna_strona,tab_promise2); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} function Progress(){ var c=document.createElement('div'); c.setAttribute("id","pasek_postępu") c.setAttribute('style','margin-top:-2px;margin-left:-2px;position:absolute;width:250px;height:70px;border:1px solid black;box-sizing:border-box;padding:5px;background-color:white;display:flex;flex-direction:column;'); var label=document.createElement('label'); label.setAttribute('for','file1'); label.innerHTML="<span style=\"color:blue;\">Ukończone wątki: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%'); var span=document.createElement('span'); span.innerHTML="0%"; var span_0=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file1') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;'); progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_1=c.appendChild(progress); var label=document.createElement('label'); label.setAttribute('for','file2'); label.innerHTML="<span style=\"color:blue;\">Zwolnione blokaty: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_1=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file2') progress.setAttribute('style','margin-left:5px;width:95%;height:100%') progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_2=c.appendChild(progress); function PozycjaXY(){ c.style.top=(window.scrollY+document.documentElement.clientHeight-parseFloat(c.style.height))+"px"; c.style.left=(window.scrollX+document.documentElement.clientWidth-parseFloat(c.style.width))+"px"; } document.querySelector('body').appendChild(c); PozycjaXY(); $(window).on('scroll',PozycjaXY); $(window).on('resize',PozycjaXY); return new Array(element_body_progress_1,element_body_progress_2,span_0,span_1); } var arr; function __FUNKCJA(arr){ arr[0].setAttribute("value","0"); arr[1].setAttribute("value","0"); let dodatnie_0=tab_promise2.lengthPlus; let ujemne_0=tab_promise2.lengthMinus; let dodatnie_1=StronicowyParser.muteks.LiczbaBlokatPlus; let ujemne_1=StronicowyParser.muteks.LiczbaBlokatMinus; let postep_0=((dodatnie_0>0)?((ujemne_0/dodatnie_0)*100):0); let postep_1=((dodatnie_1>0)?((ujemne_1/dodatnie_1)*100):0); arr[0].setAttribute("value",postep_0); arr[1].setAttribute("value",postep_1); arr[2].innerHTML=(parseInt(postep_0*1000)/1000)+"%"; arr[3].innerHTML=(parseInt(postep_1*1000)/1000)+"%"; } StronicowyParser.CzekajNaZakaczenie(tab_promise2,null,StronicowyParser.muteks,(tab_promise)=>{arr=Progress();__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);setTimeout(function(){let node_postep=document.getElementById('pasek_postępu');$(node_postep).remove();},2000);}).then(async (result) => {}).catch(()=>{}); }; StronicowyParser.WyswietlStronyKsiazki().then((result) => {}).catch((error) => {}); }); 7nfeo6zk59rs2ooazz22939ti9prtld 437320 437319 2022-08-09T17:12:23Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.WyswietlStronyKsiazki=async function(){ await StronicowyParser.muteks.zablokuj(); let stronasubst_latex=undefined; let stronasubst_mathml=undefined; let stronasubst_opakuj_kategorie_ze_sortowaniem=undefined; let stronasubst_ukrywaj_toc=undefined; let stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=undefined; let stronasubst_aktualizowanie_nazw_artykulow=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=undefined; let stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=undefined; let stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=undefined; let stronasubst_nie_usuwaj_styli=undefined; let stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'StronaSubst-name': 'Strona zbiorcza', 'StronaSubst-description-page': 'Wikibooks:StronicowyParser/StronaSubst', 'StronaSubst-latex': 'Zamiast wzorów, wstaw tekst latexowy, w przeciwnym przypadku jest w formie LaTeX.', 'StronaSubst-mathml': 'Zamiast wzorów latexowych, wstaw je w formie znaczników MathML.', 'StronaSubst-opakuj_kategorie_ze_sortowaniem' : 'W stronach zbiorczych opakowuje kategorie, w postaci ramki, dla każdego artykułu z osobna.', 'StronaSubst-ukrywaj_toc' : "Ukrywa, począwszy od jakiegoś poziomu wszystkich tam spisów treści, na stronach zbiorczych.", 'StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach' : "Włącza dymki, nad linkami, w ładowanych dynamicznie stronach, tworząc je inteligentnymi.", 'StronaSubst-aktualizowanie_nazw_artykulow' : 'Aktualizuje na podstawie strony głównej nazwy tylko artykułów.', 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami' : "Aktualizuje sekcje poszczegónych rozdziałów artykułów ładowanych rozdziałami, domyślnie według sekcji w tych jednostkach.", 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika' : 'Aktualizuje, sekcje artykułów ładowanych rozdziałami, na podstawie strony głównej książki, a nie jego artykułów.', 'StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej' : 'Aktualizuje nagłówki strony głównej podręcznika na stronie zbiorczej.', 'StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule' : 'Aktualizuje, brakujące sekcje rozdziałów ładowanych rozdziałami artykułów, według wpisów na stronie głównej, na stronie zbiorczej.', 'StronaSubst-nie_usuwaj_styli' : 'Nie usuwa styli z nagłówków ładowanych stron.', 'StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst' : 'Rozwijaj szablony oznaczone szablonem SzablonSubst.', }); gConfig.register('StronaSubst', {name: mw.msg('StronaSubst-name'), descriptionPage: mw.msg('StronaSubst-description-page')}, [ { name: 'latex', desc: mw.msg('StronaSubst-latex'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_latex'] }, { name: 'mathml', desc: mw.msg('StronaSubst-mathml'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_mathml'] }, { name: 'opakuj_kategorie_ze_sortowaniem', desc: mw.msg('StronaSubst-opakuj_kategorie_ze_sortowaniem'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_opakuj_kategorie_ze_sortowaniem'] }, { name: 'ukrywaj_toc', desc: mw.msg('StronaSubst-ukrywaj_toc'), type: 'integer', deflt: 0, validation: function(n){ if((n<0)||(n==1)){ throw 'Wartość dotycząca poziomu ukrywania spisów treści jest nieprawidłowa!' }; return n; }, legacy: [window, 'wb_stronasubst_ukrywaj_toc'] }, { name: 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach', desc: mw.msg('StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'] }, { name: 'aktualizowanie_nazw_artykulow', desc: mw.msg('StronaSubst-aktualizowanie_nazw_artykulow'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nazw_artykulow'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'] }, { name: 'aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej', desc: mw.msg('StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'] }, { name: 'aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule', desc: mw.msg('StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'] }, { name: 'nie_usuwaj_styli', desc: mw.msg('StronaSubst-nie_usuwaj_styli'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_nie_usuwaj_styli'] }, { name: 'rozwijaj_szablony_oznaczone_szablonem_szablonsubst', desc: mw.msg('StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst'] }, ]); stronasubst_latex = (gConfig.get('StronaSubst', 'latex')==true); stronasubst_mathml = (((gConfig.get('StronaSubst', 'mathml'))&&(!stronasubst_latex))==true); stronasubst_opakuj_kategorie_ze_sortowaniem = (gConfig.get('StronaSubst', 'opakuj_kategorie_ze_sortowaniem')==true); stronasubst_ukrywaj_toc = gConfig.get('StronaSubst', 'ukrywaj_toc'); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach = gConfig.get('StronaSubst', 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'); stronasubst_aktualizowanie_nazw_artykulow = (gConfig.get('StronaSubst', 'aktualizowanie_nazw_artykulow')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami = (gConfig.get('StronaSubst', 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika = (gConfig.get('StronaSubst','aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika')==true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej = (gConfig.get('StronaSubst','aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej')==true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule = (gConfig.get('StronaSubst','aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule')==true); stronasubst_nie_usuwaj_styli = (gConfig.get('StronaSubst','nie_usuwaj_styli')==true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst = (gConfig.get('StronaSubst','rozwijaj_szablony_oznaczone_szablonem_szablonsubst')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} let stronasubst_tablica_tych_samych=new Array(); let stronasubst_tablica_rozdzialow=new Array(); let stronasubst_tablica_alternatywnych_nazw=new Array(); stronasubst_latex=((stronasubst_latex!==undefined)?stronasubst_latex:false); stronasubst_mathml=((stronasubst_mathml!==undefined)?stronasubst_mathml:true); stronasubst_opakuj_kategorie_ze_sortowaniem=((stronasubst_opakuj_kategorie_ze_sortowaniem!==undefined)?stronasubst_opakuj_kategorie_ze_sortowaniem:false); stronasubst_ukrywaj_toc=parseInt(((stronasubst_ukrywaj_toc!==undefined)?stronasubst_ukrywaj_toc:0)); stronasubst_ukrywaj_toc=((!isNaN(stronasubst_ukrywaj_toc))?stronasubst_ukrywaj_toc:0); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=((stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach!==undefined)?stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach:true); stronasubst_aktualizowanie_nazw_artykulow=((stronasubst_aktualizowanie_nazw_artykulow!==undefined)?stronasubst_aktualizowanie_nazw_artykulow:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika:true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=((stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej!==undefined)?stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej:true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=((stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule!==undefined)?stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule:true); stronasubst_nie_usuwaj_styli=((stronasubst_nie_usuwaj_styli!==undefined)?stronasubst_nie_usuwaj_styli:true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=((stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst!==undefined)?stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst:true); async function AnalizujDalejSzablonSubst(element_strony,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let rozdzial_ksiazki="rozdział_książki"; let el=$(element_strony).find('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((el!==null)&&(el.length>0)){ for(let i=0;i<el.length;++i){ let element_el=el[i]; let ksiazka=element_el.querySelector("."+rozdzial_ksiazki); if(ksiazka){ let nazwa_strony=element_el.getAttribute('nazwa_strony'); if(tab_promise2){tab_promise2.push(true);} CzyStronaSubst(element_el,nazwa_strony,tab_promise2); } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } async function WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let title=data.parse.title; let wikikod=data.parse.text['*']; let strona_hash; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let t=tab_uzyskane[0]; if(t==undefined){ console.log("Nie wykryto znacznika lsth_\d+."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } strona_hash=titles[t]; let selflink=document.createElement('div'); selflink.innerHTML=wikikod; let czy_selflink=selflink.getElementsByClassName('selflink'); if((czy_selflink!==null)&&(czy_selflink.length==1)){ let elements=tabstrona[strona_hash]; let a=document.createElement('a');/*Tworzenie linku*/ a.setAttribute('href',StronicowyParser.kodowanie.EncodeHtml(title)); a.innerHTML=strona_hash; let span=document.createElement('span'); span.appendChild(a); span.setAttribute("class","niw link");/*Dodawanie klasy, by inny skript JS to przeanalizował jako link*/ if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo(span); } for(let q in elements){ let element=elements[q]; element.innerHTML=""; element.appendChild(span); $(element).wrap(function(){return "<strong></strong>";}); let przed=document.createTextNode("{{:"); let po=document.createTextNode("}}"); element.insertBefore(przed,element.firstChild); element.appendChild(po); element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=tab_uzyskane[1].innerHTML; let elements=tabstrona[strona_hash]; for(let q in elements){ let element=elements[q]; element.innerHTML=wikikod; StronicowyParser.ZamienLinkiNaLinkiDoStronyAktualnej(element,title,titles); } StronicowyParser.AktualizujSpisTresciModuluStrony(elements,tabs,strona_hash,stronasubst_tablica_alternatywnych_nazw,stronasubst_tablica_tych_samych,stronasubst_tablica_rozdzialow,true,stronasubst_latex,stronasubst_mathml) let strona_start=$(elements[0]).parents(".strona_start"); let rodzic=undefined; if((strona_start!==null)&&(strona_start.length>0)){ rodzic=strona_start[0]; } StronicowyParser.IndeksujHeadLine(rodzic); StronicowyParser.PrzeIndeksujWszystkieTOC(rodzic,true); for(let q in elements){ let element=elements[q]; async function ElementDalszychObliczen(element,tab_promise2){ await StronicowyParser.muteks.zablokuj(true); StronicowyParser.PoprawRozdzialyStron(element); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu(element,tab_promise2);//Funkcja jako gadżet do numerowania rozdziałów. } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element,tab_promise2); } if((StronicowyParser.szablony&&StronicowyParser.szablony.LadujSzablon)&&(stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst)){ let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(element,title,titles,undefined,tab_promise).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(()=>{ if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(element); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} ElementDalszychObliczen(element,tab_promise2); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function ToogleTableOfContainer(panel){ let id=panel.target; let tagname=id.tagName.toUpperCase(); //console.log(czy_klasa,tagname,"TYTAN)"; if(tagname=="BUTTON"){ let czy_klasa_1=$(id).hasClass('sidebar-toc-toggle'); let czy_klasa_2=$(id).hasClass('vector-toc-collapse-button'); if(czy_klasa_1){ $(id).parent().children().last().each((i,element)=>{ let expanded=$(id).attr('aria-expanded'); if(expanded=="false"){ $(element).css('display',"block"); $(element).closest('li').addClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','true'); }else if(expanded=="true"){ $(element).css('display',"none"); $(element).closest('li').removeClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','false'); } }); }else if(czy_klasa_2){ $(id).parents('#sidebar-toc-label').siblings('ul').each((i,element)=>{ let ukryj=$(element).css('display'); if(ukryj!="none"){ $(element).css('display',"none"); id.innerHTML=" pokaż "; }else{ $(element).css('display',"block"); id.innerHTML=" ukryj " } }); } } } let mutekstoogle=new StronicowyParser.Muteks(); async function ScrollTableOfContainer(){ await mutekstoogle.zablokuj(); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').first().each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky.height-15; }); let parser=document.querySelector('#mw-content-text .mw-parser-output'); if(parser){ let rect=parser.getBoundingClientRect(); if(rect.top>=height_sticky){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item').first().addClass('sidebar-toc-list-item-active'); mutekstoogle.odblokuj(); return; } }else{ mutekstoogle.odblokuj(); return; } var str=$('#mw-content-text .mw-parser-output').find('h1, h2, h3, h4, h5, h6'); if((str!==null)&&(str.length>0)){ var naglowek; for(i=0;i<str.length;++i){ let element=str[i]; let rect=element.getBoundingClientRect(); if(rect.top>=height_sticky){ let mw_naglowek=element.querySelector('.mw-headline'); if(mw_naglowek){ let id_naglowek=mw_naglowek.getAttribute('id'); let tak=false; $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+id_naglowek){ let display=window.getComputedStyle(element, null).getPropertyValue('display'); if(display!="none"){ tak=true; } } }); if(tak){ naglowek=id_naglowek; break; } } } } if(naglowek){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+naglowek){ $(element).addClass('sidebar-toc-list-item-active'); } }); } } mutekstoogle.odblokuj(); } async function StronaSubst(element_strony,wikikod,aktualna_strona,tab_promise2){ await StronicowyParser.muteks.zablokuj(); StronicowyParser.NaprawNaglowkiStrony(element_strony,true); let czy_wikikod=wikikod.match(/^[_\s]*$/g); let strona_start=$('#mw-content-text .mw-parser-output .strona_start'); function CzyWszystkieNaglowkiWewnatrzStronaStart(){ let pole=$('#mw-content-text .mw-parser-output').find('h1,h2,h3,h4,h5,h6'); for(let i=0;i<pole.length;++i){ let s=strona_start.find(pole[i]); if((s===null)||(s.length==0)){ return false; } } return true; } if(czy_wikikod){ StronicowyParser.muteks.odblokuj(); let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyArtykulu)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyArtykulu(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } let czy_numerowac=StronicowyParser.CzyWlaczycSideBarTOC(undefined,true); if(czy_numerowac){ czy_numerowac=false; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: StronicowyParser.pageinfo.fullname, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+StronicowyParser.pageinfo.fullname+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ czy_numerowac=true; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ let tab_promise=new Array(true); StronicowyParser.LimitTOC(czy_numerowac,stronasubst_ukrywaj_toc); StronicowyParser.szablony.LadujSzablon(null,null,null,czy_numerowac,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true) StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],czy_numerowac,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(czy_numerowac)){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} return; } let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(null,null,null,undefined,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async (result) => { let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } await StronicowyParser.CzekajNaZakaczenie(tab_promise).then(async (result) => {}).catch(()=>{}); await StronicowyParser.muteks.zablokuj(); if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); let rozdzial_ksiazki="rozdział_książki"; let tagclass=element_strony.getElementsByClassName(rozdzial_ksiazki); if(tagclass===null){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return null; } let liczba_elementow=tagclass.length; if(liczba_elementow==0){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return null; } let titles=new Array(); let tabstrona=new Array(); let tabs=new Array(); let tab_section=new Array(); if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element_strony,tab_promise2); } let tab_hn=new Array(); async function edit_action(numer,strona,hn,link_strona,czy_link_nie_w_naglowku){ await StronicowyParser.muteks.zablokuj(); let linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection===null){ let editsection=document.createElement('span'); editsection.classList.add('mw-editsection'); let bracket_poczatek=document.createElement('span'); bracket_poczatek.classList.add('mw-editsection-bracket') bracket_poczatek.innerHTML="["; let a=document.createElement('a'); a.setAttribute('href',"/w/index.php?title="+StronicowyParser.kodowanie.EncodeHtml(strona,false,true)+"&action=edit"+((numer>0)?("&section="+numer):"")); a.setAttribute('title',"Edytuj artykuł: "+link_strona); a.innerHTML="edytuj"; let bracket_koniec=document.createElement('span'); bracket_koniec.classList.add('mw-editsection-bracket') bracket_koniec.innerHTML="]"; editsection.appendChild(bracket_poczatek); editsection.appendChild(a) editsection.appendChild(bracket_koniec); hn.appendChild(editsection); } linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection!==null){ let mw_editsection_bracket=linkstrony_editsection.querySelector('a'); if(mw_editsection_bracket!==null){ if(czy_link_nie_w_naglowku){ let a=document.createElement('a'); a.innerHTML="artykuł"; a.setAttribute("href",StronicowyParser.kodowanie.EncodeHtml("/wiki/"+StronicowyParser.kodowanie.EncodeHtml(link_strona,false,true))); a.setAttribute("title","Zobacz artykuł: "+link_strona); let span=document.createElement('span'); span.innerHTML="| "; span.setAttribute('class',"mw-editsection-bracket") let czy_ma=$(mw_editsection_bracket).parent().hasClass('link'); if(czy_ma){ let rodzic_mw_editsection_bracket=mw_editsection_bracket.parentNode; let span2=linkstrony_editsection.insertBefore(span, rodzic_mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); }else{ let span2=linkstrony_editsection.insertBefore(span, mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); } } } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(linkstrony_editsection).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); } for (let i=0;i<liczba_elementow;++i){ let tagclassname=tagclass[i]; let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find("."+rozdzial_ksiazki); function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==tagclassname){ return true; } } return false; } if(CzyOdrzucic()){continue;} if(tagclassname.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let class_element=tagclassname.getElementsByClassName('strona_subst'); let element; if((class_element!==null)&&(class_element.length==1)){ element=class_element[0]; if(element.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let czy_link_nie_w_naglowku; let strona_headline=tagclassname.getElementsByClassName('mw-headline'); let link_strona; if((strona_headline!==null)&&(strona_headline.length==1)){ strona_a=strona_headline[0].getElementsByTagName('a'); if((strona_a!==null)&&(strona_a.length==1)){ link_strona=StronicowyParser.kodowanie.DecodeHtml(strona_a[0].getAttribute('href')); if(link_strona!==null){ let re=/\/wiki\//g; if(re.test(link_strona)){ link_strona=link_strona.substring(6,link_strona.length); czy_link_nie_w_naglowku=false; }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } } }else{ link_strona=StronicowyParser.style.UsunStyle(element.innerHTML); czy_link_nie_w_naglowku=true; } } let re = /^[_\s]*$/g; let dopasowanie = re.test(link_strona); if(dopasowanie){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return; }; link_strona=link_strona.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ").replace(/&amp;/g,"&").replace(/&nbsp;/g," "); let hash=link_strona.replace(/^([^#]*)#(.*)$/,"$2").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); /**/ let hn=strona_headline[0].parentNode; if((hn===null)||(!hn.tagName.toUpperCase().match(/^H\d+$/g))){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} tab_section[i]=new Array(hn,link_strona,czy_link_nie_w_naglowku); let strona=link_strona.match(/^[^#]*/g).toString(); async function PraceIteracyjne(tab_promise2){ await StronicowyParser.muteks.zablokuj(); if(/#/g.test(link_strona)){ let hash=link_strona.replace(/^([^#]*)#(.*)$/g,"$2"); if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let numer=hn.innerHTML; numer=parseInt(numer); if(isNaN(numer)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return ;} let tab_c=tab_section[c]; edit_action(numer,tab_c[1].match(/^[^#]*/g).toString(),tab_c[0],tab_c[1],tab_c[2]); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami){ if(!stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); }else{ let uzupelniaj_sekcje_artykulow; if(stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule){ uzupelniaj_sekcje_artykulow="tak"; }else{ uzupelniaj_sekcje_artykulow=""; } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+link_strona+"|analiza=tak|uzupełniaj sekcje artykułów="+uzupelniaj_sekcje_artykulow+"|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; let a=headline.getElementsByTagName('a'); if((a!==null)&&(a.length>0)){ a[0].setAttribute('title',stare); } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } }else{ edit_action(0,strona,hn,link_strona,czy_link_nie_w_naglowku); if(stronasubst_aktualizowanie_nazw_artykulow){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+strona+"|analiza=tak|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceIteracyjne(tab_promise2).then((result) => {}).catch((error) => {}); },1000); /**/ tabs[i]=link_strona; let czy=false; for(let d in titles){ if(titles[d]==link_strona){ czy=true; break; } } if(!czy){ titles[titles.length]=link_strona; } if(tabstrona[link_strona]==null){ tabstrona[link_strona]=new Array(); } let tab=tabstrona[link_strona]; let tablen=tab.length; tabstrona[link_strona][tablen]=element; } async function PraceNaglowki(tab_promise2){ await StronicowyParser.muteks.zablokuj(); let promise; if(element_strony==document){ let namespace=StronicowyParser.pageinfo.namespace; let strona_podrecznika=((namespace!="")?(namespace+":"):"")+StronicowyParser.pageinfo.bookname; promise=Promise.resolve(strona_podrecznika); }else{ let zaan=$(element_strony).parents('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((zaan!==null)&&(zaan.length>0)){ let strona=zaan[0].getAttribute('nazwa_strony'); if(strona){ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](strona); }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } } if(tab_promise2){tab_promise2.push(true);} promise.then(async (strona_podrecznika)=>{ await StronicowyParser.muteks.zablokuj(); let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find(".klasa_nagłówka"); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)){ let g=0; let tab_naglowka=new Array(); let tab_hn=new Array(); for(let z=0;z<klasa_naglowka.length;++z){ let pojedyncza_klasa_naglowka=klasa_naglowka[z]; function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==pojedyncza_klasa_naglowka){ return true; } } return false; } if(CzyOdrzucic()){continue;} let dana_klasa_naglowka=pojedyncza_klasa_naglowka.querySelector('.mw-headline'); if(dana_klasa_naglowka!==null){ if((dana_klasa_naglowka.parentNode!==null)&&(dana_klasa_naglowka.parentNode.tagName.toUpperCase().match(/^[Hh]\d+$/g)) &&(dana_klasa_naglowka.parentNode.parentNode!=null)&&(dana_klasa_naglowka.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&($(dana_klasa_naglowka.parentNode.parentNode).hasClass('klasa_nagłówka'))){ let naglowek=StronicowyParser.style.UsunStyle(dana_klasa_naglowka.innerHTML).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); let ww=1; for(let x=0;x<tab_naglowka.length;++x){ if(tab_naglowka[x]==naglowek){ ++ww; } } naglowek=naglowek+((ww>1)?ww:""); tab_naglowka[g]=naglowek; tab_hn[g]=dana_klasa_naglowka.parentNode; if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, na stronie głównej podręcznika, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let nazwa_podrecznika=strona_podrecznika.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") let naglowek_sekcji_podrecznika=tab_naglowka[c].replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") edit_action(c+1,nazwa_podrecznika,tab_hn[c],nazwa_podrecznika+"#"+naglowek_sekcji_podrecznika,true); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();return;} let headline=tab_hn[c].querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } ++g; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceNaglowki(tab_promise2).then((result) => {}).catch((error) => {}); },1000); function RozwazajNaglowki(){ let toc_fun=new StronicowyParser.ListaNodeTOC(); if((toc_fun.toc!==null)&&(toc_fun.toc.length>0)){ for(let w=0;w<toc_fun.toc.length;++w){ let czy_side_bar_toc=toc_fun.CzySideBarToc(toc_fun.toc[w]); let ile_jest=0; let li=toc_fun.toc[w].getElementsByTagName('li'); if((li!==null)&&(li.length>0)){ for(let dd=0;dd<li.length;++dd){ let element_li=li[dd]; let tocnumber;let toctext_wartosc; if(czy_side_bar_toc){ tocnumber=element_li.querySelector('.sidebar-toc-numb'); if(!tocnumber){continue;} toctext_wartosc=element_li.querySelector('.sidebar-toc-text').innerHTML.replace(new RegExp(StronicowyParser.wzor.BezZnakowSpecjalnych(tocnumber.outerHTML),"g"),""); }else{ tocnumber=element_li.querySelector('.tocnumber'); toctext_wartosc=element_li.querySelector('.toctext').innerHTML; } if((tocnumber!==null)&&(toctext_wartosc!==null)){ let czy_jest=undefined; let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)&&(klasa_naglowka[ile_jest]!=null)){ let element_klasa_naglowka=klasa_naglowka[ile_jest]; let headline=element_klasa_naglowka.querySelector('.mw-headline'); if((headline!==null) &&(headline.parentNode!==null) &&(headline.parentNode.tagName.toUpperCase().match(/^H\d+$/)) &&(headline.parentNode.parentNode!==null) &&(headline.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&(headline.parentNode.parentNode===element_klasa_naglowka) ){ let element_a; if(czy_side_bar_toc){ element_a=tocnumber.parentNode.parentNode; }else{ element_a=tocnumber.parentNode; } if(element_a.tagName.toUpperCase()=="A"){ let href=StronicowyParser.kodowanie.DecodeHtml(element_a.getAttribute('href')); if(href!==null){ href=href.replace(/^#/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); let id_headline=headline.getAttribute('id'); if(id_headline!==null){ id_headline=id_headline.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); if(href!=id_headline){czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} if(czy_jest===undefined){ile_jest+=1;} if((czy_jest===undefined)||(!czy_jest)){ let element_toctext=StronicowyParser.style.UsunStyle(toctext_wartosc).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," "); if(stronasubst_tablica_rozdzialow[element_toctext]==null){ stronasubst_tablica_rozdzialow[element_toctext]=new Array(tocnumber); }else{ stronasubst_tablica_rozdzialow[element_toctext].push(tocnumber); } } } } } } } } StronicowyParser.LimitTOC(true,stronasubst_ukrywaj_toc); if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],true,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(StronicowyParser.CzyWlaczycSideBarTOC(undefined,true))){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } RozwazajNaglowki(); if(stronasubst_mathml){ $("div.toc ul > li > a > span.toctext").toggleClass("mathml"); $("div.toc_spis ul > li > a > span.toctext").toggleClass("mathml"); $("div.mw-table-of-contents-container > nav.sidebar-toc ul > li > a > div.sidebar-toc-text").toggleClass("mathml"); } function Strona(strona){ let strona_re=StronicowyParser.wzor.BezZnakowSpecjalnych(strona); let re=new RegExp("^\\s*"+strona_re+"\\s*#","g"); return re; } function CzyArtykulyZNaglowkamiDlaStrony(re){ for(let s in titles){ let czy_hash=titles[s].match(re); if(czy_hash){ return true; } } return false; } let catlinks_fun=new StronicowyParser.LinkiKategorii(); await catlinks_fun.PobierzKategorieStrony(); for ( let t in titles ) { let strona=titles[t].match(/^[^#]*/g).toString(); let szablon_artykulu; let re_strona=Strona(strona); let czy_naglowki=CzyArtykulyZNaglowkamiDlaStrony(re_strona); if(!czy_naglowki){ szablon_artykulu="{{:"+strona+"}}"; }else{ /*---------------------------------*/ let rozdzial1=null; let re=/^([^#]*)#(.*)$/g; if(re.test(titles[t])){ rozdzial1=titles[t].replace(re,"$2"); rozdzial1=rozdzial1.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial1="";} let rozdzial2=null; let tit=titles[parseInt(t)+1]; if( tit && re.test(tit) && re_strona.test(tit)){ rozdzial2=tit.replace(re,"$2"); rozdzial2=rozdzial2.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial2="";} /*---------------------------*/ szablon_artykulu="{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|TekstRozdziałuStrony|"+strona+"|"+rozdzial1+"|"+rozdzial2+"}}}}"; } szablon_artykulu="{{PrzytnijTekst|"+szablon_artykulu+"}}"; if(stronasubst_opakuj_kategorie_ze_sortowaniem){ szablon_artykulu="{{OpakujKategorieZeSortowaniem|"+szablon_artykulu+"}}" } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text|categories', title: strona, text: "<div class=\"hn hn_"+t+"\">\n"+szablon_artykulu+"\n</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); catlinks_fun.AnalizaKategorii(data).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);} WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2).then((result) => {}).catch((error) => {}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function CzyszczenieZZdarzeńTableOfContent(){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } } } CzyszczenieZZdarzeńTableOfContent(); let tab_promise2=new StronicowyParser.SugerowaneObiekty(); async function CzyStronaSubst(element,aktualna_strona,tab_promise2){ if(tab_promise2){tab_promise2.push(true);} await StronicowyParser.muteks.zablokuj(); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronaSubst}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.expandtemplates.wikitext; if((wikikod!==null)&&(aktualna_strona!==null)){ if(tab_promise2){tab_promise2.push(true);} StronaSubst(element,wikikod,aktualna_strona,tab_promise2).then((result) => {}).catch((error) => {}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } let aktualna_strona=StronicowyParser.pageinfo.fullname; if(tab_promise2){tab_promise2.push(true,true);} CzyStronaSubst(document,aktualna_strona,tab_promise2); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} function Progress(){ var c=document.createElement('div'); c.setAttribute("id","pasek_postępu") c.setAttribute('style','margin-top:-2px;margin-left:-2px;position:absolute;width:250px;height:80px;border:1px solid black;box-sizing:border-box;padding:0;background-color:white;display:flex;flex-direction:column;'); var label=document.createElement('label'); label.setAttribute('for','file1'); label.innerHTML="<span style=\"color:blue;\">Ukończone wątki: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%'); var span=document.createElement('span'); span.innerHTML="0%"; var span_0=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file1') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;'); progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_1=c.appendChild(progress); var label=document.createElement('label'); label.setAttribute('for','file2'); label.innerHTML="<span style=\"color:blue;\">Zwolnione blokaty: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_1=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file2') progress.setAttribute('style','margin-left:5px;width:95%;height:100%') progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_2=c.appendChild(progress); function PozycjaXY(){ c.style.top=(window.scrollY+document.documentElement.clientHeight-parseFloat(c.style.height))+"px"; c.style.left=(window.scrollX+document.documentElement.clientWidth-parseFloat(c.style.width))+"px"; } document.querySelector('body').appendChild(c); PozycjaXY(); $(window).on('scroll',PozycjaXY); $(window).on('resize',PozycjaXY); return new Array(element_body_progress_1,element_body_progress_2,span_0,span_1); } var arr; function __FUNKCJA(arr){ arr[0].setAttribute("value","0"); arr[1].setAttribute("value","0"); let dodatnie_0=tab_promise2.lengthPlus; let ujemne_0=tab_promise2.lengthMinus; let dodatnie_1=StronicowyParser.muteks.LiczbaBlokatPlus; let ujemne_1=StronicowyParser.muteks.LiczbaBlokatMinus; let postep_0=((dodatnie_0>0)?((ujemne_0/dodatnie_0)*100):0); let postep_1=((dodatnie_1>0)?((ujemne_1/dodatnie_1)*100):0); arr[0].setAttribute("value",postep_0); arr[1].setAttribute("value",postep_1); arr[2].innerHTML=(parseInt(postep_0*1000)/1000)+"%"; arr[3].innerHTML=(parseInt(postep_1*1000)/1000)+"%"; } StronicowyParser.CzekajNaZakaczenie(tab_promise2,null,StronicowyParser.muteks,(tab_promise)=>{arr=Progress();__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);setTimeout(function(){let node_postep=document.getElementById('pasek_postępu');$(node_postep).remove();},2000);}).then(async (result) => {}).catch(()=>{}); }; StronicowyParser.WyswietlStronyKsiazki().then((result) => {}).catch((error) => {}); }); la6d302a5tvw8ns4ttqhjodl5jc8q43 437321 437320 2022-08-09T17:14:14Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.WyswietlStronyKsiazki=async function(){ await StronicowyParser.muteks.zablokuj(); let stronasubst_latex=undefined; let stronasubst_mathml=undefined; let stronasubst_opakuj_kategorie_ze_sortowaniem=undefined; let stronasubst_ukrywaj_toc=undefined; let stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=undefined; let stronasubst_aktualizowanie_nazw_artykulow=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=undefined; let stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=undefined; let stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=undefined; let stronasubst_nie_usuwaj_styli=undefined; let stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'StronaSubst-name': 'Strona zbiorcza', 'StronaSubst-description-page': 'Wikibooks:StronicowyParser/StronaSubst', 'StronaSubst-latex': 'Zamiast wzorów, wstaw tekst latexowy, w przeciwnym przypadku jest w formie LaTeX.', 'StronaSubst-mathml': 'Zamiast wzorów latexowych, wstaw je w formie znaczników MathML.', 'StronaSubst-opakuj_kategorie_ze_sortowaniem' : 'W stronach zbiorczych opakowuje kategorie, w postaci ramki, dla każdego artykułu z osobna.', 'StronaSubst-ukrywaj_toc' : "Ukrywa, począwszy od jakiegoś poziomu wszystkich tam spisów treści, na stronach zbiorczych.", 'StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach' : "Włącza dymki, nad linkami, w ładowanych dynamicznie stronach, tworząc je inteligentnymi.", 'StronaSubst-aktualizowanie_nazw_artykulow' : 'Aktualizuje na podstawie strony głównej nazwy tylko artykułów.', 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami' : "Aktualizuje sekcje poszczegónych rozdziałów artykułów ładowanych rozdziałami, domyślnie według sekcji w tych jednostkach.", 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika' : 'Aktualizuje, sekcje artykułów ładowanych rozdziałami, na podstawie strony głównej książki, a nie jego artykułów.', 'StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej' : 'Aktualizuje nagłówki strony głównej podręcznika na stronie zbiorczej.', 'StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule' : 'Aktualizuje, brakujące sekcje rozdziałów ładowanych rozdziałami artykułów, według wpisów na stronie głównej, na stronie zbiorczej.', 'StronaSubst-nie_usuwaj_styli' : 'Nie usuwa styli z nagłówków ładowanych stron.', 'StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst' : 'Rozwijaj szablony oznaczone szablonem SzablonSubst.', }); gConfig.register('StronaSubst', {name: mw.msg('StronaSubst-name'), descriptionPage: mw.msg('StronaSubst-description-page')}, [ { name: 'latex', desc: mw.msg('StronaSubst-latex'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_latex'] }, { name: 'mathml', desc: mw.msg('StronaSubst-mathml'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_mathml'] }, { name: 'opakuj_kategorie_ze_sortowaniem', desc: mw.msg('StronaSubst-opakuj_kategorie_ze_sortowaniem'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_opakuj_kategorie_ze_sortowaniem'] }, { name: 'ukrywaj_toc', desc: mw.msg('StronaSubst-ukrywaj_toc'), type: 'integer', deflt: 0, validation: function(n){ if((n<0)||(n==1)){ throw 'Wartość dotycząca poziomu ukrywania spisów treści jest nieprawidłowa!' }; return n; }, legacy: [window, 'wb_stronasubst_ukrywaj_toc'] }, { name: 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach', desc: mw.msg('StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'] }, { name: 'aktualizowanie_nazw_artykulow', desc: mw.msg('StronaSubst-aktualizowanie_nazw_artykulow'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nazw_artykulow'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'] }, { name: 'aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej', desc: mw.msg('StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'] }, { name: 'aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule', desc: mw.msg('StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'] }, { name: 'nie_usuwaj_styli', desc: mw.msg('StronaSubst-nie_usuwaj_styli'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_nie_usuwaj_styli'] }, { name: 'rozwijaj_szablony_oznaczone_szablonem_szablonsubst', desc: mw.msg('StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst'] }, ]); stronasubst_latex = (gConfig.get('StronaSubst', 'latex')==true); stronasubst_mathml = (((gConfig.get('StronaSubst', 'mathml'))&&(!stronasubst_latex))==true); stronasubst_opakuj_kategorie_ze_sortowaniem = (gConfig.get('StronaSubst', 'opakuj_kategorie_ze_sortowaniem')==true); stronasubst_ukrywaj_toc = gConfig.get('StronaSubst', 'ukrywaj_toc'); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach = gConfig.get('StronaSubst', 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'); stronasubst_aktualizowanie_nazw_artykulow = (gConfig.get('StronaSubst', 'aktualizowanie_nazw_artykulow')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami = (gConfig.get('StronaSubst', 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika = (gConfig.get('StronaSubst','aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika')==true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej = (gConfig.get('StronaSubst','aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej')==true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule = (gConfig.get('StronaSubst','aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule')==true); stronasubst_nie_usuwaj_styli = (gConfig.get('StronaSubst','nie_usuwaj_styli')==true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst = (gConfig.get('StronaSubst','rozwijaj_szablony_oznaczone_szablonem_szablonsubst')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} let stronasubst_tablica_tych_samych=new Array(); let stronasubst_tablica_rozdzialow=new Array(); let stronasubst_tablica_alternatywnych_nazw=new Array(); stronasubst_latex=((stronasubst_latex!==undefined)?stronasubst_latex:false); stronasubst_mathml=((stronasubst_mathml!==undefined)?stronasubst_mathml:true); stronasubst_opakuj_kategorie_ze_sortowaniem=((stronasubst_opakuj_kategorie_ze_sortowaniem!==undefined)?stronasubst_opakuj_kategorie_ze_sortowaniem:false); stronasubst_ukrywaj_toc=parseInt(((stronasubst_ukrywaj_toc!==undefined)?stronasubst_ukrywaj_toc:0)); stronasubst_ukrywaj_toc=((!isNaN(stronasubst_ukrywaj_toc))?stronasubst_ukrywaj_toc:0); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=((stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach!==undefined)?stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach:true); stronasubst_aktualizowanie_nazw_artykulow=((stronasubst_aktualizowanie_nazw_artykulow!==undefined)?stronasubst_aktualizowanie_nazw_artykulow:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika:true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=((stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej!==undefined)?stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej:true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=((stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule!==undefined)?stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule:true); stronasubst_nie_usuwaj_styli=((stronasubst_nie_usuwaj_styli!==undefined)?stronasubst_nie_usuwaj_styli:true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=((stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst!==undefined)?stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst:true); async function AnalizujDalejSzablonSubst(element_strony,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let rozdzial_ksiazki="rozdział_książki"; let el=$(element_strony).find('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((el!==null)&&(el.length>0)){ for(let i=0;i<el.length;++i){ let element_el=el[i]; let ksiazka=element_el.querySelector("."+rozdzial_ksiazki); if(ksiazka){ let nazwa_strony=element_el.getAttribute('nazwa_strony'); if(tab_promise2){tab_promise2.push(true);} CzyStronaSubst(element_el,nazwa_strony,tab_promise2); } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } async function WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let title=data.parse.title; let wikikod=data.parse.text['*']; let strona_hash; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let t=tab_uzyskane[0]; if(t==undefined){ console.log("Nie wykryto znacznika lsth_\d+."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } strona_hash=titles[t]; let selflink=document.createElement('div'); selflink.innerHTML=wikikod; let czy_selflink=selflink.getElementsByClassName('selflink'); if((czy_selflink!==null)&&(czy_selflink.length==1)){ let elements=tabstrona[strona_hash]; let a=document.createElement('a');/*Tworzenie linku*/ a.setAttribute('href',StronicowyParser.kodowanie.EncodeHtml(title)); a.innerHTML=strona_hash; let span=document.createElement('span'); span.appendChild(a); span.setAttribute("class","niw link");/*Dodawanie klasy, by inny skript JS to przeanalizował jako link*/ if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo(span); } for(let q in elements){ let element=elements[q]; element.innerHTML=""; element.appendChild(span); $(element).wrap(function(){return "<strong></strong>";}); let przed=document.createTextNode("{{:"); let po=document.createTextNode("}}"); element.insertBefore(przed,element.firstChild); element.appendChild(po); element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=tab_uzyskane[1].innerHTML; let elements=tabstrona[strona_hash]; for(let q in elements){ let element=elements[q]; element.innerHTML=wikikod; StronicowyParser.ZamienLinkiNaLinkiDoStronyAktualnej(element,title,titles); } StronicowyParser.AktualizujSpisTresciModuluStrony(elements,tabs,strona_hash,stronasubst_tablica_alternatywnych_nazw,stronasubst_tablica_tych_samych,stronasubst_tablica_rozdzialow,true,stronasubst_latex,stronasubst_mathml) let strona_start=$(elements[0]).parents(".strona_start"); let rodzic=undefined; if((strona_start!==null)&&(strona_start.length>0)){ rodzic=strona_start[0]; } StronicowyParser.IndeksujHeadLine(rodzic); StronicowyParser.PrzeIndeksujWszystkieTOC(rodzic,true); for(let q in elements){ let element=elements[q]; async function ElementDalszychObliczen(element,tab_promise2){ await StronicowyParser.muteks.zablokuj(true); StronicowyParser.PoprawRozdzialyStron(element); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu(element,tab_promise2);//Funkcja jako gadżet do numerowania rozdziałów. } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element,tab_promise2); } if((StronicowyParser.szablony&&StronicowyParser.szablony.LadujSzablon)&&(stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst)){ let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(element,title,titles,undefined,tab_promise).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(()=>{ if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(element); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} ElementDalszychObliczen(element,tab_promise2); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function ToogleTableOfContainer(panel){ let id=panel.target; let tagname=id.tagName.toUpperCase(); //console.log(czy_klasa,tagname,"TYTAN)"; if(tagname=="BUTTON"){ let czy_klasa_1=$(id).hasClass('sidebar-toc-toggle'); let czy_klasa_2=$(id).hasClass('vector-toc-collapse-button'); if(czy_klasa_1){ $(id).parent().children().last().each((i,element)=>{ let expanded=$(id).attr('aria-expanded'); if(expanded=="false"){ $(element).css('display',"block"); $(element).closest('li').addClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','true'); }else if(expanded=="true"){ $(element).css('display',"none"); $(element).closest('li').removeClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','false'); } }); }else if(czy_klasa_2){ $(id).parents('#sidebar-toc-label').siblings('ul').each((i,element)=>{ let ukryj=$(element).css('display'); if(ukryj!="none"){ $(element).css('display',"none"); id.innerHTML=" pokaż "; }else{ $(element).css('display',"block"); id.innerHTML=" ukryj " } }); } } } let mutekstoogle=new StronicowyParser.Muteks(); async function ScrollTableOfContainer(){ await mutekstoogle.zablokuj(); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').first().each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky.height-15; }); let parser=document.querySelector('#mw-content-text .mw-parser-output'); if(parser){ let rect=parser.getBoundingClientRect(); if(rect.top>=height_sticky){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item').first().addClass('sidebar-toc-list-item-active'); mutekstoogle.odblokuj(); return; } }else{ mutekstoogle.odblokuj(); return; } var str=$('#mw-content-text .mw-parser-output').find('h1, h2, h3, h4, h5, h6'); if((str!==null)&&(str.length>0)){ var naglowek; for(i=0;i<str.length;++i){ let element=str[i]; let rect=element.getBoundingClientRect(); if(rect.top>=height_sticky){ let mw_naglowek=element.querySelector('.mw-headline'); if(mw_naglowek){ let id_naglowek=mw_naglowek.getAttribute('id'); let tak=false; $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+id_naglowek){ let display=window.getComputedStyle(element, null).getPropertyValue('display'); if(display!="none"){ tak=true; } } }); if(tak){ naglowek=id_naglowek; break; } } } } if(naglowek){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+naglowek){ $(element).addClass('sidebar-toc-list-item-active'); } }); } } mutekstoogle.odblokuj(); } async function StronaSubst(element_strony,wikikod,aktualna_strona,tab_promise2){ await StronicowyParser.muteks.zablokuj(); StronicowyParser.NaprawNaglowkiStrony(element_strony,true); let czy_wikikod=wikikod.match(/^[_\s]*$/g); let strona_start=$('#mw-content-text .mw-parser-output .strona_start'); function CzyWszystkieNaglowkiWewnatrzStronaStart(){ let pole=$('#mw-content-text .mw-parser-output').find('h1,h2,h3,h4,h5,h6'); for(let i=0;i<pole.length;++i){ let s=strona_start.find(pole[i]); if((s===null)||(s.length==0)){ return false; } } return true; } if(czy_wikikod){ StronicowyParser.muteks.odblokuj(); let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyArtykulu)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyArtykulu(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } let czy_numerowac=StronicowyParser.CzyWlaczycSideBarTOC(undefined,true); if(czy_numerowac){ czy_numerowac=false; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: StronicowyParser.pageinfo.fullname, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+StronicowyParser.pageinfo.fullname+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ czy_numerowac=true; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ let tab_promise=new Array(true); StronicowyParser.LimitTOC(czy_numerowac,stronasubst_ukrywaj_toc); StronicowyParser.szablony.LadujSzablon(null,null,null,czy_numerowac,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true) StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],czy_numerowac,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(czy_numerowac)){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} return; } let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(null,null,null,undefined,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async (result) => { let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } await StronicowyParser.CzekajNaZakaczenie(tab_promise).then(async (result) => {}).catch(()=>{}); await StronicowyParser.muteks.zablokuj(); if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); let rozdzial_ksiazki="rozdział_książki"; let tagclass=element_strony.getElementsByClassName(rozdzial_ksiazki); if(tagclass===null){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return null; } let liczba_elementow=tagclass.length; if(liczba_elementow==0){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return null; } let titles=new Array(); let tabstrona=new Array(); let tabs=new Array(); let tab_section=new Array(); if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element_strony,tab_promise2); } let tab_hn=new Array(); async function edit_action(numer,strona,hn,link_strona,czy_link_nie_w_naglowku){ await StronicowyParser.muteks.zablokuj(); let linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection===null){ let editsection=document.createElement('span'); editsection.classList.add('mw-editsection'); let bracket_poczatek=document.createElement('span'); bracket_poczatek.classList.add('mw-editsection-bracket') bracket_poczatek.innerHTML="["; let a=document.createElement('a'); a.setAttribute('href',"/w/index.php?title="+StronicowyParser.kodowanie.EncodeHtml(strona,false,true)+"&action=edit"+((numer>0)?("&section="+numer):"")); a.setAttribute('title',"Edytuj artykuł: "+link_strona); a.innerHTML="edytuj"; let bracket_koniec=document.createElement('span'); bracket_koniec.classList.add('mw-editsection-bracket') bracket_koniec.innerHTML="]"; editsection.appendChild(bracket_poczatek); editsection.appendChild(a) editsection.appendChild(bracket_koniec); hn.appendChild(editsection); } linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection!==null){ let mw_editsection_bracket=linkstrony_editsection.querySelector('a'); if(mw_editsection_bracket!==null){ if(czy_link_nie_w_naglowku){ let a=document.createElement('a'); a.innerHTML="artykuł"; a.setAttribute("href",StronicowyParser.kodowanie.EncodeHtml("/wiki/"+StronicowyParser.kodowanie.EncodeHtml(link_strona,false,true))); a.setAttribute("title","Zobacz artykuł: "+link_strona); let span=document.createElement('span'); span.innerHTML="| "; span.setAttribute('class',"mw-editsection-bracket") let czy_ma=$(mw_editsection_bracket).parent().hasClass('link'); if(czy_ma){ let rodzic_mw_editsection_bracket=mw_editsection_bracket.parentNode; let span2=linkstrony_editsection.insertBefore(span, rodzic_mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); }else{ let span2=linkstrony_editsection.insertBefore(span, mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); } } } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(linkstrony_editsection).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); } for (let i=0;i<liczba_elementow;++i){ let tagclassname=tagclass[i]; let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find("."+rozdzial_ksiazki); function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==tagclassname){ return true; } } return false; } if(CzyOdrzucic()){continue;} if(tagclassname.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let class_element=tagclassname.getElementsByClassName('strona_subst'); let element; if((class_element!==null)&&(class_element.length==1)){ element=class_element[0]; if(element.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let czy_link_nie_w_naglowku; let strona_headline=tagclassname.getElementsByClassName('mw-headline'); let link_strona; if((strona_headline!==null)&&(strona_headline.length==1)){ strona_a=strona_headline[0].getElementsByTagName('a'); if((strona_a!==null)&&(strona_a.length==1)){ link_strona=StronicowyParser.kodowanie.DecodeHtml(strona_a[0].getAttribute('href')); if(link_strona!==null){ let re=/\/wiki\//g; if(re.test(link_strona)){ link_strona=link_strona.substring(6,link_strona.length); czy_link_nie_w_naglowku=false; }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } } }else{ link_strona=StronicowyParser.style.UsunStyle(element.innerHTML); czy_link_nie_w_naglowku=true; } } let re = /^[_\s]*$/g; let dopasowanie = re.test(link_strona); if(dopasowanie){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return; }; link_strona=link_strona.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ").replace(/&amp;/g,"&").replace(/&nbsp;/g," "); let hash=link_strona.replace(/^([^#]*)#(.*)$/,"$2").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); /**/ let hn=strona_headline[0].parentNode; if((hn===null)||(!hn.tagName.toUpperCase().match(/^H\d+$/g))){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} tab_section[i]=new Array(hn,link_strona,czy_link_nie_w_naglowku); let strona=link_strona.match(/^[^#]*/g).toString(); async function PraceIteracyjne(tab_promise2){ await StronicowyParser.muteks.zablokuj(); if(/#/g.test(link_strona)){ let hash=link_strona.replace(/^([^#]*)#(.*)$/g,"$2"); if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let numer=hn.innerHTML; numer=parseInt(numer); if(isNaN(numer)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return ;} let tab_c=tab_section[c]; edit_action(numer,tab_c[1].match(/^[^#]*/g).toString(),tab_c[0],tab_c[1],tab_c[2]); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami){ if(!stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); }else{ let uzupelniaj_sekcje_artykulow; if(stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule){ uzupelniaj_sekcje_artykulow="tak"; }else{ uzupelniaj_sekcje_artykulow=""; } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+link_strona+"|analiza=tak|uzupełniaj sekcje artykułów="+uzupelniaj_sekcje_artykulow+"|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; let a=headline.getElementsByTagName('a'); if((a!==null)&&(a.length>0)){ a[0].setAttribute('title',stare); } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } }else{ edit_action(0,strona,hn,link_strona,czy_link_nie_w_naglowku); if(stronasubst_aktualizowanie_nazw_artykulow){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+strona+"|analiza=tak|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceIteracyjne(tab_promise2).then((result) => {}).catch((error) => {}); },1000); /**/ tabs[i]=link_strona; let czy=false; for(let d in titles){ if(titles[d]==link_strona){ czy=true; break; } } if(!czy){ titles[titles.length]=link_strona; } if(tabstrona[link_strona]==null){ tabstrona[link_strona]=new Array(); } let tab=tabstrona[link_strona]; let tablen=tab.length; tabstrona[link_strona][tablen]=element; } async function PraceNaglowki(tab_promise2){ await StronicowyParser.muteks.zablokuj(); let promise; if(element_strony==document){ let namespace=StronicowyParser.pageinfo.namespace; let strona_podrecznika=((namespace!="")?(namespace+":"):"")+StronicowyParser.pageinfo.bookname; promise=Promise.resolve(strona_podrecznika); }else{ let zaan=$(element_strony).parents('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((zaan!==null)&&(zaan.length>0)){ let strona=zaan[0].getAttribute('nazwa_strony'); if(strona){ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](strona); }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } } if(tab_promise2){tab_promise2.push(true);} promise.then(async (strona_podrecznika)=>{ await StronicowyParser.muteks.zablokuj(); let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find(".klasa_nagłówka"); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)){ let g=0; let tab_naglowka=new Array(); let tab_hn=new Array(); for(let z=0;z<klasa_naglowka.length;++z){ let pojedyncza_klasa_naglowka=klasa_naglowka[z]; function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==pojedyncza_klasa_naglowka){ return true; } } return false; } if(CzyOdrzucic()){continue;} let dana_klasa_naglowka=pojedyncza_klasa_naglowka.querySelector('.mw-headline'); if(dana_klasa_naglowka!==null){ if((dana_klasa_naglowka.parentNode!==null)&&(dana_klasa_naglowka.parentNode.tagName.toUpperCase().match(/^[Hh]\d+$/g)) &&(dana_klasa_naglowka.parentNode.parentNode!=null)&&(dana_klasa_naglowka.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&($(dana_klasa_naglowka.parentNode.parentNode).hasClass('klasa_nagłówka'))){ let naglowek=StronicowyParser.style.UsunStyle(dana_klasa_naglowka.innerHTML).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); let ww=1; for(let x=0;x<tab_naglowka.length;++x){ if(tab_naglowka[x]==naglowek){ ++ww; } } naglowek=naglowek+((ww>1)?ww:""); tab_naglowka[g]=naglowek; tab_hn[g]=dana_klasa_naglowka.parentNode; if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, na stronie głównej podręcznika, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let nazwa_podrecznika=strona_podrecznika.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") let naglowek_sekcji_podrecznika=tab_naglowka[c].replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") edit_action(c+1,nazwa_podrecznika,tab_hn[c],nazwa_podrecznika+"#"+naglowek_sekcji_podrecznika,true); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();return;} let headline=tab_hn[c].querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } ++g; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceNaglowki(tab_promise2).then((result) => {}).catch((error) => {}); },1000); function RozwazajNaglowki(){ let toc_fun=new StronicowyParser.ListaNodeTOC(); if((toc_fun.toc!==null)&&(toc_fun.toc.length>0)){ for(let w=0;w<toc_fun.toc.length;++w){ let czy_side_bar_toc=toc_fun.CzySideBarToc(toc_fun.toc[w]); let ile_jest=0; let li=toc_fun.toc[w].getElementsByTagName('li'); if((li!==null)&&(li.length>0)){ for(let dd=0;dd<li.length;++dd){ let element_li=li[dd]; let tocnumber;let toctext_wartosc; if(czy_side_bar_toc){ tocnumber=element_li.querySelector('.sidebar-toc-numb'); if(!tocnumber){continue;} toctext_wartosc=element_li.querySelector('.sidebar-toc-text').innerHTML.replace(new RegExp(StronicowyParser.wzor.BezZnakowSpecjalnych(tocnumber.outerHTML),"g"),""); }else{ tocnumber=element_li.querySelector('.tocnumber'); toctext_wartosc=element_li.querySelector('.toctext').innerHTML; } if((tocnumber!==null)&&(toctext_wartosc!==null)){ let czy_jest=undefined; let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)&&(klasa_naglowka[ile_jest]!=null)){ let element_klasa_naglowka=klasa_naglowka[ile_jest]; let headline=element_klasa_naglowka.querySelector('.mw-headline'); if((headline!==null) &&(headline.parentNode!==null) &&(headline.parentNode.tagName.toUpperCase().match(/^H\d+$/)) &&(headline.parentNode.parentNode!==null) &&(headline.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&(headline.parentNode.parentNode===element_klasa_naglowka) ){ let element_a; if(czy_side_bar_toc){ element_a=tocnumber.parentNode.parentNode; }else{ element_a=tocnumber.parentNode; } if(element_a.tagName.toUpperCase()=="A"){ let href=StronicowyParser.kodowanie.DecodeHtml(element_a.getAttribute('href')); if(href!==null){ href=href.replace(/^#/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); let id_headline=headline.getAttribute('id'); if(id_headline!==null){ id_headline=id_headline.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); if(href!=id_headline){czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} if(czy_jest===undefined){ile_jest+=1;} if((czy_jest===undefined)||(!czy_jest)){ let element_toctext=StronicowyParser.style.UsunStyle(toctext_wartosc).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," "); if(stronasubst_tablica_rozdzialow[element_toctext]==null){ stronasubst_tablica_rozdzialow[element_toctext]=new Array(tocnumber); }else{ stronasubst_tablica_rozdzialow[element_toctext].push(tocnumber); } } } } } } } } StronicowyParser.LimitTOC(true,stronasubst_ukrywaj_toc); if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],true,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(StronicowyParser.CzyWlaczycSideBarTOC(undefined,true))){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } RozwazajNaglowki(); if(stronasubst_mathml){ $("div.toc ul > li > a > span.toctext").toggleClass("mathml"); $("div.toc_spis ul > li > a > span.toctext").toggleClass("mathml"); $("div.mw-table-of-contents-container > nav.sidebar-toc ul > li > a > div.sidebar-toc-text").toggleClass("mathml"); } function Strona(strona){ let strona_re=StronicowyParser.wzor.BezZnakowSpecjalnych(strona); let re=new RegExp("^\\s*"+strona_re+"\\s*#","g"); return re; } function CzyArtykulyZNaglowkamiDlaStrony(re){ for(let s in titles){ let czy_hash=titles[s].match(re); if(czy_hash){ return true; } } return false; } let catlinks_fun=new StronicowyParser.LinkiKategorii(); await catlinks_fun.PobierzKategorieStrony(); for ( let t in titles ) { let strona=titles[t].match(/^[^#]*/g).toString(); let szablon_artykulu; let re_strona=Strona(strona); let czy_naglowki=CzyArtykulyZNaglowkamiDlaStrony(re_strona); if(!czy_naglowki){ szablon_artykulu="{{:"+strona+"}}"; }else{ /*---------------------------------*/ let rozdzial1=null; let re=/^([^#]*)#(.*)$/g; if(re.test(titles[t])){ rozdzial1=titles[t].replace(re,"$2"); rozdzial1=rozdzial1.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial1="";} let rozdzial2=null; let tit=titles[parseInt(t)+1]; if( tit && re.test(tit) && re_strona.test(tit)){ rozdzial2=tit.replace(re,"$2"); rozdzial2=rozdzial2.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial2="";} /*---------------------------*/ szablon_artykulu="{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|TekstRozdziałuStrony|"+strona+"|"+rozdzial1+"|"+rozdzial2+"}}}}"; } szablon_artykulu="{{PrzytnijTekst|"+szablon_artykulu+"}}"; if(stronasubst_opakuj_kategorie_ze_sortowaniem){ szablon_artykulu="{{OpakujKategorieZeSortowaniem|"+szablon_artykulu+"}}" } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text|categories', title: strona, text: "<div class=\"hn hn_"+t+"\">\n"+szablon_artykulu+"\n</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); catlinks_fun.AnalizaKategorii(data).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);} WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2).then((result) => {}).catch((error) => {}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function CzyszczenieZZdarzeńTableOfContent(){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } } } CzyszczenieZZdarzeńTableOfContent(); let tab_promise2=new StronicowyParser.SugerowaneObiekty(); async function CzyStronaSubst(element,aktualna_strona,tab_promise2){ if(tab_promise2){tab_promise2.push(true);} await StronicowyParser.muteks.zablokuj(); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronaSubst}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.expandtemplates.wikitext; if((wikikod!==null)&&(aktualna_strona!==null)){ if(tab_promise2){tab_promise2.push(true);} StronaSubst(element,wikikod,aktualna_strona,tab_promise2).then((result) => {}).catch((error) => {}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } let aktualna_strona=StronicowyParser.pageinfo.fullname; if(tab_promise2){tab_promise2.push(true,true);} CzyStronaSubst(document,aktualna_strona,tab_promise2); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} function Progress(){ var c=document.createElement('div'); c.setAttribute("id","pasek_postępu") c.setAttribute('style','margin-top:-2px;margin-left:-2px;position:absolute;width:250px;height:80px;border:1px solid black;box-sizing:border-box;padding:5px;background-color:white;display:flex;flex-direction:column;box-sizing:border-box;'); var label=document.createElement('label'); label.setAttribute('for','file1'); label.innerHTML="<span style=\"color:blue;\">Ukończone wątki: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_0=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file1') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;'); progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_1=c.appendChild(progress); var label=document.createElement('label'); label.setAttribute('for','file2'); label.innerHTML="<span style=\"color:blue;\">Zwolnione blokaty: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_1=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file2') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;') progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_2=c.appendChild(progress); function PozycjaXY(){ c.style.top=(window.scrollY+document.documentElement.clientHeight-parseFloat(c.style.height))+"px"; c.style.left=(window.scrollX+document.documentElement.clientWidth-parseFloat(c.style.width))+"px"; } document.querySelector('body').appendChild(c); PozycjaXY(); $(window).on('scroll',PozycjaXY); $(window).on('resize',PozycjaXY); return new Array(element_body_progress_1,element_body_progress_2,span_0,span_1); } var arr; function __FUNKCJA(arr){ arr[0].setAttribute("value","0"); arr[1].setAttribute("value","0"); let dodatnie_0=tab_promise2.lengthPlus; let ujemne_0=tab_promise2.lengthMinus; let dodatnie_1=StronicowyParser.muteks.LiczbaBlokatPlus; let ujemne_1=StronicowyParser.muteks.LiczbaBlokatMinus; let postep_0=((dodatnie_0>0)?((ujemne_0/dodatnie_0)*100):0); let postep_1=((dodatnie_1>0)?((ujemne_1/dodatnie_1)*100):0); arr[0].setAttribute("value",postep_0); arr[1].setAttribute("value",postep_1); arr[2].innerHTML=(parseInt(postep_0*1000)/1000)+"%"; arr[3].innerHTML=(parseInt(postep_1*1000)/1000)+"%"; } StronicowyParser.CzekajNaZakaczenie(tab_promise2,null,StronicowyParser.muteks,(tab_promise)=>{arr=Progress();__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);setTimeout(function(){let node_postep=document.getElementById('pasek_postępu');$(node_postep).remove();},2000);}).then(async (result) => {}).catch(()=>{}); }; StronicowyParser.WyswietlStronyKsiazki().then((result) => {}).catch((error) => {}); }); syeqhk5zhe9a49gdxknf34nk4qszy1r 437322 437321 2022-08-09T17:16:38Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.WyswietlStronyKsiazki=async function(){ await StronicowyParser.muteks.zablokuj(); let stronasubst_latex=undefined; let stronasubst_mathml=undefined; let stronasubst_opakuj_kategorie_ze_sortowaniem=undefined; let stronasubst_ukrywaj_toc=undefined; let stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=undefined; let stronasubst_aktualizowanie_nazw_artykulow=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=undefined; let stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=undefined; let stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=undefined; let stronasubst_nie_usuwaj_styli=undefined; let stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'StronaSubst-name': 'Strona zbiorcza', 'StronaSubst-description-page': 'Wikibooks:StronicowyParser/StronaSubst', 'StronaSubst-latex': 'Zamiast wzorów, wstaw tekst latexowy, w przeciwnym przypadku jest w formie LaTeX.', 'StronaSubst-mathml': 'Zamiast wzorów latexowych, wstaw je w formie znaczników MathML.', 'StronaSubst-opakuj_kategorie_ze_sortowaniem' : 'W stronach zbiorczych opakowuje kategorie, w postaci ramki, dla każdego artykułu z osobna.', 'StronaSubst-ukrywaj_toc' : "Ukrywa, począwszy od jakiegoś poziomu wszystkich tam spisów treści, na stronach zbiorczych.", 'StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach' : "Włącza dymki, nad linkami, w ładowanych dynamicznie stronach, tworząc je inteligentnymi.", 'StronaSubst-aktualizowanie_nazw_artykulow' : 'Aktualizuje na podstawie strony głównej nazwy tylko artykułów.', 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami' : "Aktualizuje sekcje poszczegónych rozdziałów artykułów ładowanych rozdziałami, domyślnie według sekcji w tych jednostkach.", 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika' : 'Aktualizuje, sekcje artykułów ładowanych rozdziałami, na podstawie strony głównej książki, a nie jego artykułów.', 'StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej' : 'Aktualizuje nagłówki strony głównej podręcznika na stronie zbiorczej.', 'StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule' : 'Aktualizuje, brakujące sekcje rozdziałów ładowanych rozdziałami artykułów, według wpisów na stronie głównej, na stronie zbiorczej.', 'StronaSubst-nie_usuwaj_styli' : 'Nie usuwa styli z nagłówków ładowanych stron.', 'StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst' : 'Rozwijaj szablony oznaczone szablonem SzablonSubst.', }); gConfig.register('StronaSubst', {name: mw.msg('StronaSubst-name'), descriptionPage: mw.msg('StronaSubst-description-page')}, [ { name: 'latex', desc: mw.msg('StronaSubst-latex'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_latex'] }, { name: 'mathml', desc: mw.msg('StronaSubst-mathml'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_mathml'] }, { name: 'opakuj_kategorie_ze_sortowaniem', desc: mw.msg('StronaSubst-opakuj_kategorie_ze_sortowaniem'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_opakuj_kategorie_ze_sortowaniem'] }, { name: 'ukrywaj_toc', desc: mw.msg('StronaSubst-ukrywaj_toc'), type: 'integer', deflt: 0, validation: function(n){ if((n<0)||(n==1)){ throw 'Wartość dotycząca poziomu ukrywania spisów treści jest nieprawidłowa!' }; return n; }, legacy: [window, 'wb_stronasubst_ukrywaj_toc'] }, { name: 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach', desc: mw.msg('StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'] }, { name: 'aktualizowanie_nazw_artykulow', desc: mw.msg('StronaSubst-aktualizowanie_nazw_artykulow'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nazw_artykulow'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'] }, { name: 'aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej', desc: mw.msg('StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'] }, { name: 'aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule', desc: mw.msg('StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'] }, { name: 'nie_usuwaj_styli', desc: mw.msg('StronaSubst-nie_usuwaj_styli'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_nie_usuwaj_styli'] }, { name: 'rozwijaj_szablony_oznaczone_szablonem_szablonsubst', desc: mw.msg('StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst'] }, ]); stronasubst_latex = (gConfig.get('StronaSubst', 'latex')==true); stronasubst_mathml = (((gConfig.get('StronaSubst', 'mathml'))&&(!stronasubst_latex))==true); stronasubst_opakuj_kategorie_ze_sortowaniem = (gConfig.get('StronaSubst', 'opakuj_kategorie_ze_sortowaniem')==true); stronasubst_ukrywaj_toc = gConfig.get('StronaSubst', 'ukrywaj_toc'); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach = gConfig.get('StronaSubst', 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'); stronasubst_aktualizowanie_nazw_artykulow = (gConfig.get('StronaSubst', 'aktualizowanie_nazw_artykulow')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami = (gConfig.get('StronaSubst', 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika = (gConfig.get('StronaSubst','aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika')==true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej = (gConfig.get('StronaSubst','aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej')==true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule = (gConfig.get('StronaSubst','aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule')==true); stronasubst_nie_usuwaj_styli = (gConfig.get('StronaSubst','nie_usuwaj_styli')==true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst = (gConfig.get('StronaSubst','rozwijaj_szablony_oznaczone_szablonem_szablonsubst')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} let stronasubst_tablica_tych_samych=new Array(); let stronasubst_tablica_rozdzialow=new Array(); let stronasubst_tablica_alternatywnych_nazw=new Array(); stronasubst_latex=((stronasubst_latex!==undefined)?stronasubst_latex:false); stronasubst_mathml=((stronasubst_mathml!==undefined)?stronasubst_mathml:true); stronasubst_opakuj_kategorie_ze_sortowaniem=((stronasubst_opakuj_kategorie_ze_sortowaniem!==undefined)?stronasubst_opakuj_kategorie_ze_sortowaniem:false); stronasubst_ukrywaj_toc=parseInt(((stronasubst_ukrywaj_toc!==undefined)?stronasubst_ukrywaj_toc:0)); stronasubst_ukrywaj_toc=((!isNaN(stronasubst_ukrywaj_toc))?stronasubst_ukrywaj_toc:0); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=((stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach!==undefined)?stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach:true); stronasubst_aktualizowanie_nazw_artykulow=((stronasubst_aktualizowanie_nazw_artykulow!==undefined)?stronasubst_aktualizowanie_nazw_artykulow:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika:true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=((stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej!==undefined)?stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej:true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=((stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule!==undefined)?stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule:true); stronasubst_nie_usuwaj_styli=((stronasubst_nie_usuwaj_styli!==undefined)?stronasubst_nie_usuwaj_styli:true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=((stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst!==undefined)?stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst:true); async function AnalizujDalejSzablonSubst(element_strony,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let rozdzial_ksiazki="rozdział_książki"; let el=$(element_strony).find('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((el!==null)&&(el.length>0)){ for(let i=0;i<el.length;++i){ let element_el=el[i]; let ksiazka=element_el.querySelector("."+rozdzial_ksiazki); if(ksiazka){ let nazwa_strony=element_el.getAttribute('nazwa_strony'); if(tab_promise2){tab_promise2.push(true);} CzyStronaSubst(element_el,nazwa_strony,tab_promise2); } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } async function WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let title=data.parse.title; let wikikod=data.parse.text['*']; let strona_hash; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let t=tab_uzyskane[0]; if(t==undefined){ console.log("Nie wykryto znacznika lsth_\d+."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } strona_hash=titles[t]; let selflink=document.createElement('div'); selflink.innerHTML=wikikod; let czy_selflink=selflink.getElementsByClassName('selflink'); if((czy_selflink!==null)&&(czy_selflink.length==1)){ let elements=tabstrona[strona_hash]; let a=document.createElement('a');/*Tworzenie linku*/ a.setAttribute('href',StronicowyParser.kodowanie.EncodeHtml(title)); a.innerHTML=strona_hash; let span=document.createElement('span'); span.appendChild(a); span.setAttribute("class","niw link");/*Dodawanie klasy, by inny skript JS to przeanalizował jako link*/ if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo(span); } for(let q in elements){ let element=elements[q]; element.innerHTML=""; element.appendChild(span); $(element).wrap(function(){return "<strong></strong>";}); let przed=document.createTextNode("{{:"); let po=document.createTextNode("}}"); element.insertBefore(przed,element.firstChild); element.appendChild(po); element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=tab_uzyskane[1].innerHTML; let elements=tabstrona[strona_hash]; for(let q in elements){ let element=elements[q]; element.innerHTML=wikikod; StronicowyParser.ZamienLinkiNaLinkiDoStronyAktualnej(element,title,titles); } StronicowyParser.AktualizujSpisTresciModuluStrony(elements,tabs,strona_hash,stronasubst_tablica_alternatywnych_nazw,stronasubst_tablica_tych_samych,stronasubst_tablica_rozdzialow,true,stronasubst_latex,stronasubst_mathml) let strona_start=$(elements[0]).parents(".strona_start"); let rodzic=undefined; if((strona_start!==null)&&(strona_start.length>0)){ rodzic=strona_start[0]; } StronicowyParser.IndeksujHeadLine(rodzic); StronicowyParser.PrzeIndeksujWszystkieTOC(rodzic,true); for(let q in elements){ let element=elements[q]; async function ElementDalszychObliczen(element,tab_promise2){ await StronicowyParser.muteks.zablokuj(true); StronicowyParser.PoprawRozdzialyStron(element); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu(element,tab_promise2);//Funkcja jako gadżet do numerowania rozdziałów. } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element,tab_promise2); } if((StronicowyParser.szablony&&StronicowyParser.szablony.LadujSzablon)&&(stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst)){ let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(element,title,titles,undefined,tab_promise).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(()=>{ if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(element); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} ElementDalszychObliczen(element,tab_promise2); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function ToogleTableOfContainer(panel){ let id=panel.target; let tagname=id.tagName.toUpperCase(); //console.log(czy_klasa,tagname,"TYTAN)"; if(tagname=="BUTTON"){ let czy_klasa_1=$(id).hasClass('sidebar-toc-toggle'); let czy_klasa_2=$(id).hasClass('vector-toc-collapse-button'); if(czy_klasa_1){ $(id).parent().children().last().each((i,element)=>{ let expanded=$(id).attr('aria-expanded'); if(expanded=="false"){ $(element).css('display',"block"); $(element).closest('li').addClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','true'); }else if(expanded=="true"){ $(element).css('display',"none"); $(element).closest('li').removeClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','false'); } }); }else if(czy_klasa_2){ $(id).parents('#sidebar-toc-label').siblings('ul').each((i,element)=>{ let ukryj=$(element).css('display'); if(ukryj!="none"){ $(element).css('display',"none"); id.innerHTML=" pokaż "; }else{ $(element).css('display',"block"); id.innerHTML=" ukryj " } }); } } } let mutekstoogle=new StronicowyParser.Muteks(); async function ScrollTableOfContainer(){ await mutekstoogle.zablokuj(); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').first().each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky.height-15; }); let parser=document.querySelector('#mw-content-text .mw-parser-output'); if(parser){ let rect=parser.getBoundingClientRect(); if(rect.top>=height_sticky){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item').first().addClass('sidebar-toc-list-item-active'); mutekstoogle.odblokuj(); return; } }else{ mutekstoogle.odblokuj(); return; } var str=$('#mw-content-text .mw-parser-output').find('h1, h2, h3, h4, h5, h6'); if((str!==null)&&(str.length>0)){ var naglowek; for(i=0;i<str.length;++i){ let element=str[i]; let rect=element.getBoundingClientRect(); if(rect.top>=height_sticky){ let mw_naglowek=element.querySelector('.mw-headline'); if(mw_naglowek){ let id_naglowek=mw_naglowek.getAttribute('id'); let tak=false; $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+id_naglowek){ let display=window.getComputedStyle(element, null).getPropertyValue('display'); if(display!="none"){ tak=true; } } }); if(tak){ naglowek=id_naglowek; break; } } } } if(naglowek){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+naglowek){ $(element).addClass('sidebar-toc-list-item-active'); } }); } } mutekstoogle.odblokuj(); } async function StronaSubst(element_strony,wikikod,aktualna_strona,tab_promise2){ await StronicowyParser.muteks.zablokuj(); StronicowyParser.NaprawNaglowkiStrony(element_strony,true); let czy_wikikod=wikikod.match(/^[_\s]*$/g); let strona_start=$('#mw-content-text .mw-parser-output .strona_start'); function CzyWszystkieNaglowkiWewnatrzStronaStart(){ let pole=$('#mw-content-text .mw-parser-output').find('h1,h2,h3,h4,h5,h6'); for(let i=0;i<pole.length;++i){ let s=strona_start.find(pole[i]); if((s===null)||(s.length==0)){ return false; } } return true; } if(czy_wikikod){ StronicowyParser.muteks.odblokuj(); let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyArtykulu)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyArtykulu(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } let czy_numerowac=StronicowyParser.CzyWlaczycSideBarTOC(undefined,true); if(czy_numerowac){ czy_numerowac=false; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: StronicowyParser.pageinfo.fullname, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+StronicowyParser.pageinfo.fullname+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ czy_numerowac=true; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ let tab_promise=new Array(true); StronicowyParser.LimitTOC(czy_numerowac,stronasubst_ukrywaj_toc); StronicowyParser.szablony.LadujSzablon(null,null,null,czy_numerowac,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true) StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],czy_numerowac,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(czy_numerowac)){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} return; } let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(null,null,null,undefined,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async (result) => { let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } await StronicowyParser.CzekajNaZakaczenie(tab_promise).then(async (result) => {}).catch(()=>{}); await StronicowyParser.muteks.zablokuj(); if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); let rozdzial_ksiazki="rozdział_książki"; let tagclass=element_strony.getElementsByClassName(rozdzial_ksiazki); if(tagclass===null){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return null; } let liczba_elementow=tagclass.length; if(liczba_elementow==0){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return null; } let titles=new Array(); let tabstrona=new Array(); let tabs=new Array(); let tab_section=new Array(); if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element_strony,tab_promise2); } let tab_hn=new Array(); async function edit_action(numer,strona,hn,link_strona,czy_link_nie_w_naglowku){ await StronicowyParser.muteks.zablokuj(); let linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection===null){ let editsection=document.createElement('span'); editsection.classList.add('mw-editsection'); let bracket_poczatek=document.createElement('span'); bracket_poczatek.classList.add('mw-editsection-bracket') bracket_poczatek.innerHTML="["; let a=document.createElement('a'); a.setAttribute('href',"/w/index.php?title="+StronicowyParser.kodowanie.EncodeHtml(strona,false,true)+"&action=edit"+((numer>0)?("&section="+numer):"")); a.setAttribute('title',"Edytuj artykuł: "+link_strona); a.innerHTML="edytuj"; let bracket_koniec=document.createElement('span'); bracket_koniec.classList.add('mw-editsection-bracket') bracket_koniec.innerHTML="]"; editsection.appendChild(bracket_poczatek); editsection.appendChild(a) editsection.appendChild(bracket_koniec); hn.appendChild(editsection); } linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection!==null){ let mw_editsection_bracket=linkstrony_editsection.querySelector('a'); if(mw_editsection_bracket!==null){ if(czy_link_nie_w_naglowku){ let a=document.createElement('a'); a.innerHTML="artykuł"; a.setAttribute("href",StronicowyParser.kodowanie.EncodeHtml("/wiki/"+StronicowyParser.kodowanie.EncodeHtml(link_strona,false,true))); a.setAttribute("title","Zobacz artykuł: "+link_strona); let span=document.createElement('span'); span.innerHTML="| "; span.setAttribute('class',"mw-editsection-bracket") let czy_ma=$(mw_editsection_bracket).parent().hasClass('link'); if(czy_ma){ let rodzic_mw_editsection_bracket=mw_editsection_bracket.parentNode; let span2=linkstrony_editsection.insertBefore(span, rodzic_mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); }else{ let span2=linkstrony_editsection.insertBefore(span, mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); } } } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(linkstrony_editsection).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); } for (let i=0;i<liczba_elementow;++i){ let tagclassname=tagclass[i]; let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find("."+rozdzial_ksiazki); function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==tagclassname){ return true; } } return false; } if(CzyOdrzucic()){continue;} if(tagclassname.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let class_element=tagclassname.getElementsByClassName('strona_subst'); let element; if((class_element!==null)&&(class_element.length==1)){ element=class_element[0]; if(element.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let czy_link_nie_w_naglowku; let strona_headline=tagclassname.getElementsByClassName('mw-headline'); let link_strona; if((strona_headline!==null)&&(strona_headline.length==1)){ strona_a=strona_headline[0].getElementsByTagName('a'); if((strona_a!==null)&&(strona_a.length==1)){ link_strona=StronicowyParser.kodowanie.DecodeHtml(strona_a[0].getAttribute('href')); if(link_strona!==null){ let re=/\/wiki\//g; if(re.test(link_strona)){ link_strona=link_strona.substring(6,link_strona.length); czy_link_nie_w_naglowku=false; }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } } }else{ link_strona=StronicowyParser.style.UsunStyle(element.innerHTML); czy_link_nie_w_naglowku=true; } } let re = /^[_\s]*$/g; let dopasowanie = re.test(link_strona); if(dopasowanie){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return; }; link_strona=link_strona.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ").replace(/&amp;/g,"&").replace(/&nbsp;/g," "); let hash=link_strona.replace(/^([^#]*)#(.*)$/,"$2").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); /**/ let hn=strona_headline[0].parentNode; if((hn===null)||(!hn.tagName.toUpperCase().match(/^H\d+$/g))){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} tab_section[i]=new Array(hn,link_strona,czy_link_nie_w_naglowku); let strona=link_strona.match(/^[^#]*/g).toString(); async function PraceIteracyjne(tab_promise2){ await StronicowyParser.muteks.zablokuj(); if(/#/g.test(link_strona)){ let hash=link_strona.replace(/^([^#]*)#(.*)$/g,"$2"); if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let numer=hn.innerHTML; numer=parseInt(numer); if(isNaN(numer)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return ;} let tab_c=tab_section[c]; edit_action(numer,tab_c[1].match(/^[^#]*/g).toString(),tab_c[0],tab_c[1],tab_c[2]); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami){ if(!stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); }else{ let uzupelniaj_sekcje_artykulow; if(stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule){ uzupelniaj_sekcje_artykulow="tak"; }else{ uzupelniaj_sekcje_artykulow=""; } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+link_strona+"|analiza=tak|uzupełniaj sekcje artykułów="+uzupelniaj_sekcje_artykulow+"|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; let a=headline.getElementsByTagName('a'); if((a!==null)&&(a.length>0)){ a[0].setAttribute('title',stare); } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } }else{ edit_action(0,strona,hn,link_strona,czy_link_nie_w_naglowku); if(stronasubst_aktualizowanie_nazw_artykulow){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+strona+"|analiza=tak|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceIteracyjne(tab_promise2).then((result) => {}).catch((error) => {}); },1000); /**/ tabs[i]=link_strona; let czy=false; for(let d in titles){ if(titles[d]==link_strona){ czy=true; break; } } if(!czy){ titles[titles.length]=link_strona; } if(tabstrona[link_strona]==null){ tabstrona[link_strona]=new Array(); } let tab=tabstrona[link_strona]; let tablen=tab.length; tabstrona[link_strona][tablen]=element; } async function PraceNaglowki(tab_promise2){ await StronicowyParser.muteks.zablokuj(); let promise; if(element_strony==document){ let namespace=StronicowyParser.pageinfo.namespace; let strona_podrecznika=((namespace!="")?(namespace+":"):"")+StronicowyParser.pageinfo.bookname; promise=Promise.resolve(strona_podrecznika); }else{ let zaan=$(element_strony).parents('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((zaan!==null)&&(zaan.length>0)){ let strona=zaan[0].getAttribute('nazwa_strony'); if(strona){ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](strona); }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } } if(tab_promise2){tab_promise2.push(true);} promise.then(async (strona_podrecznika)=>{ await StronicowyParser.muteks.zablokuj(); let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find(".klasa_nagłówka"); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)){ let g=0; let tab_naglowka=new Array(); let tab_hn=new Array(); for(let z=0;z<klasa_naglowka.length;++z){ let pojedyncza_klasa_naglowka=klasa_naglowka[z]; function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==pojedyncza_klasa_naglowka){ return true; } } return false; } if(CzyOdrzucic()){continue;} let dana_klasa_naglowka=pojedyncza_klasa_naglowka.querySelector('.mw-headline'); if(dana_klasa_naglowka!==null){ if((dana_klasa_naglowka.parentNode!==null)&&(dana_klasa_naglowka.parentNode.tagName.toUpperCase().match(/^[Hh]\d+$/g)) &&(dana_klasa_naglowka.parentNode.parentNode!=null)&&(dana_klasa_naglowka.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&($(dana_klasa_naglowka.parentNode.parentNode).hasClass('klasa_nagłówka'))){ let naglowek=StronicowyParser.style.UsunStyle(dana_klasa_naglowka.innerHTML).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); let ww=1; for(let x=0;x<tab_naglowka.length;++x){ if(tab_naglowka[x]==naglowek){ ++ww; } } naglowek=naglowek+((ww>1)?ww:""); tab_naglowka[g]=naglowek; tab_hn[g]=dana_klasa_naglowka.parentNode; if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, na stronie głównej podręcznika, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let nazwa_podrecznika=strona_podrecznika.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") let naglowek_sekcji_podrecznika=tab_naglowka[c].replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") edit_action(c+1,nazwa_podrecznika,tab_hn[c],nazwa_podrecznika+"#"+naglowek_sekcji_podrecznika,true); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();return;} let headline=tab_hn[c].querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } ++g; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceNaglowki(tab_promise2).then((result) => {}).catch((error) => {}); },1000); function RozwazajNaglowki(){ let toc_fun=new StronicowyParser.ListaNodeTOC(); if((toc_fun.toc!==null)&&(toc_fun.toc.length>0)){ for(let w=0;w<toc_fun.toc.length;++w){ let czy_side_bar_toc=toc_fun.CzySideBarToc(toc_fun.toc[w]); let ile_jest=0; let li=toc_fun.toc[w].getElementsByTagName('li'); if((li!==null)&&(li.length>0)){ for(let dd=0;dd<li.length;++dd){ let element_li=li[dd]; let tocnumber;let toctext_wartosc; if(czy_side_bar_toc){ tocnumber=element_li.querySelector('.sidebar-toc-numb'); if(!tocnumber){continue;} toctext_wartosc=element_li.querySelector('.sidebar-toc-text').innerHTML.replace(new RegExp(StronicowyParser.wzor.BezZnakowSpecjalnych(tocnumber.outerHTML),"g"),""); }else{ tocnumber=element_li.querySelector('.tocnumber'); toctext_wartosc=element_li.querySelector('.toctext').innerHTML; } if((tocnumber!==null)&&(toctext_wartosc!==null)){ let czy_jest=undefined; let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)&&(klasa_naglowka[ile_jest]!=null)){ let element_klasa_naglowka=klasa_naglowka[ile_jest]; let headline=element_klasa_naglowka.querySelector('.mw-headline'); if((headline!==null) &&(headline.parentNode!==null) &&(headline.parentNode.tagName.toUpperCase().match(/^H\d+$/)) &&(headline.parentNode.parentNode!==null) &&(headline.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&(headline.parentNode.parentNode===element_klasa_naglowka) ){ let element_a; if(czy_side_bar_toc){ element_a=tocnumber.parentNode.parentNode; }else{ element_a=tocnumber.parentNode; } if(element_a.tagName.toUpperCase()=="A"){ let href=StronicowyParser.kodowanie.DecodeHtml(element_a.getAttribute('href')); if(href!==null){ href=href.replace(/^#/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); let id_headline=headline.getAttribute('id'); if(id_headline!==null){ id_headline=id_headline.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); if(href!=id_headline){czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} if(czy_jest===undefined){ile_jest+=1;} if((czy_jest===undefined)||(!czy_jest)){ let element_toctext=StronicowyParser.style.UsunStyle(toctext_wartosc).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," "); if(stronasubst_tablica_rozdzialow[element_toctext]==null){ stronasubst_tablica_rozdzialow[element_toctext]=new Array(tocnumber); }else{ stronasubst_tablica_rozdzialow[element_toctext].push(tocnumber); } } } } } } } } StronicowyParser.LimitTOC(true,stronasubst_ukrywaj_toc); if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],true,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(StronicowyParser.CzyWlaczycSideBarTOC(undefined,true))){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } RozwazajNaglowki(); if(stronasubst_mathml){ $("div.toc ul > li > a > span.toctext").toggleClass("mathml"); $("div.toc_spis ul > li > a > span.toctext").toggleClass("mathml"); $("div.mw-table-of-contents-container > nav.sidebar-toc ul > li > a > div.sidebar-toc-text").toggleClass("mathml"); } function Strona(strona){ let strona_re=StronicowyParser.wzor.BezZnakowSpecjalnych(strona); let re=new RegExp("^\\s*"+strona_re+"\\s*#","g"); return re; } function CzyArtykulyZNaglowkamiDlaStrony(re){ for(let s in titles){ let czy_hash=titles[s].match(re); if(czy_hash){ return true; } } return false; } let catlinks_fun=new StronicowyParser.LinkiKategorii(); await catlinks_fun.PobierzKategorieStrony(); for ( let t in titles ) { let strona=titles[t].match(/^[^#]*/g).toString(); let szablon_artykulu; let re_strona=Strona(strona); let czy_naglowki=CzyArtykulyZNaglowkamiDlaStrony(re_strona); if(!czy_naglowki){ szablon_artykulu="{{:"+strona+"}}"; }else{ /*---------------------------------*/ let rozdzial1=null; let re=/^([^#]*)#(.*)$/g; if(re.test(titles[t])){ rozdzial1=titles[t].replace(re,"$2"); rozdzial1=rozdzial1.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial1="";} let rozdzial2=null; let tit=titles[parseInt(t)+1]; if( tit && re.test(tit) && re_strona.test(tit)){ rozdzial2=tit.replace(re,"$2"); rozdzial2=rozdzial2.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial2="";} /*---------------------------*/ szablon_artykulu="{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|TekstRozdziałuStrony|"+strona+"|"+rozdzial1+"|"+rozdzial2+"}}}}"; } szablon_artykulu="{{PrzytnijTekst|"+szablon_artykulu+"}}"; if(stronasubst_opakuj_kategorie_ze_sortowaniem){ szablon_artykulu="{{OpakujKategorieZeSortowaniem|"+szablon_artykulu+"}}" } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text|categories', title: strona, text: "<div class=\"hn hn_"+t+"\">\n"+szablon_artykulu+"\n</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); catlinks_fun.AnalizaKategorii(data).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);} WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2).then((result) => {}).catch((error) => {}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function CzyszczenieZZdarzeńTableOfContent(){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } } } CzyszczenieZZdarzeńTableOfContent(); let tab_promise2=new StronicowyParser.SugerowaneObiekty(); async function CzyStronaSubst(element,aktualna_strona,tab_promise2){ if(tab_promise2){tab_promise2.push(true);} await StronicowyParser.muteks.zablokuj(); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronaSubst}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.expandtemplates.wikitext; if((wikikod!==null)&&(aktualna_strona!==null)){ if(tab_promise2){tab_promise2.push(true);} StronaSubst(element,wikikod,aktualna_strona,tab_promise2).then((result) => {}).catch((error) => {}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } let aktualna_strona=StronicowyParser.pageinfo.fullname; if(tab_promise2){tab_promise2.push(true,true);} CzyStronaSubst(document,aktualna_strona,tab_promise2); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} function Progress(){ var c=document.createElement('div'); c.setAttribute("id","pasek_postępu") c.setAttribute('style','margin-top:-2px;margin-left:-2px;position:absolute;width:250px;height:80px;border:1px solid black;box-sizing:border-box;padding:0 5px;background-color:white;display:flex;flex-direction:column;box-sizing:border-box;'); var label=document.createElement('label'); label.setAttribute('for','file1'); label.innerHTML="<span style=\"color:blue;\">Ukończone wątki: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_0=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file1') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;'); progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_1=c.appendChild(progress); var label=document.createElement('label'); label.setAttribute('for','file2'); label.innerHTML="<span style=\"color:blue;\">Zwolnione blokaty: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_1=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file2') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;') progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_2=c.appendChild(progress); function PozycjaXY(){ c.style.top=(window.scrollY+document.documentElement.clientHeight-parseFloat(c.style.height))+"px"; c.style.left=(window.scrollX+document.documentElement.clientWidth-parseFloat(c.style.width))+"px"; } document.querySelector('body').appendChild(c); PozycjaXY(); $(window).on('scroll',PozycjaXY); $(window).on('resize',PozycjaXY); return new Array(element_body_progress_1,element_body_progress_2,span_0,span_1); } var arr; function __FUNKCJA(arr){ arr[0].setAttribute("value","0"); arr[1].setAttribute("value","0"); let dodatnie_0=tab_promise2.lengthPlus; let ujemne_0=tab_promise2.lengthMinus; let dodatnie_1=StronicowyParser.muteks.LiczbaBlokatPlus; let ujemne_1=StronicowyParser.muteks.LiczbaBlokatMinus; let postep_0=((dodatnie_0>0)?((ujemne_0/dodatnie_0)*100):0); let postep_1=((dodatnie_1>0)?((ujemne_1/dodatnie_1)*100):0); arr[0].setAttribute("value",postep_0); arr[1].setAttribute("value",postep_1); arr[2].innerHTML=(parseInt(postep_0*1000)/1000)+"%"; arr[3].innerHTML=(parseInt(postep_1*1000)/1000)+"%"; } StronicowyParser.CzekajNaZakaczenie(tab_promise2,null,StronicowyParser.muteks,(tab_promise)=>{arr=Progress();__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);setTimeout(function(){let node_postep=document.getElementById('pasek_postępu');$(node_postep).remove();},2000);}).then(async (result) => {}).catch(()=>{}); }; StronicowyParser.WyswietlStronyKsiazki().then((result) => {}).catch((error) => {}); }); nmohvf6b9owjpdj8x0bafrul7674icb 437323 437322 2022-08-09T17:17:38Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.WyswietlStronyKsiazki=async function(){ await StronicowyParser.muteks.zablokuj(); let stronasubst_latex=undefined; let stronasubst_mathml=undefined; let stronasubst_opakuj_kategorie_ze_sortowaniem=undefined; let stronasubst_ukrywaj_toc=undefined; let stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=undefined; let stronasubst_aktualizowanie_nazw_artykulow=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=undefined; let stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=undefined; let stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=undefined; let stronasubst_nie_usuwaj_styli=undefined; let stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'StronaSubst-name': 'Strona zbiorcza', 'StronaSubst-description-page': 'Wikibooks:StronicowyParser/StronaSubst', 'StronaSubst-latex': 'Zamiast wzorów, wstaw tekst latexowy, w przeciwnym przypadku jest w formie LaTeX.', 'StronaSubst-mathml': 'Zamiast wzorów latexowych, wstaw je w formie znaczników MathML.', 'StronaSubst-opakuj_kategorie_ze_sortowaniem' : 'W stronach zbiorczych opakowuje kategorie, w postaci ramki, dla każdego artykułu z osobna.', 'StronaSubst-ukrywaj_toc' : "Ukrywa, począwszy od jakiegoś poziomu wszystkich tam spisów treści, na stronach zbiorczych.", 'StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach' : "Włącza dymki, nad linkami, w ładowanych dynamicznie stronach, tworząc je inteligentnymi.", 'StronaSubst-aktualizowanie_nazw_artykulow' : 'Aktualizuje na podstawie strony głównej nazwy tylko artykułów.', 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami' : "Aktualizuje sekcje poszczegónych rozdziałów artykułów ładowanych rozdziałami, domyślnie według sekcji w tych jednostkach.", 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika' : 'Aktualizuje, sekcje artykułów ładowanych rozdziałami, na podstawie strony głównej książki, a nie jego artykułów.', 'StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej' : 'Aktualizuje nagłówki strony głównej podręcznika na stronie zbiorczej.', 'StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule' : 'Aktualizuje, brakujące sekcje rozdziałów ładowanych rozdziałami artykułów, według wpisów na stronie głównej, na stronie zbiorczej.', 'StronaSubst-nie_usuwaj_styli' : 'Nie usuwa styli z nagłówków ładowanych stron.', 'StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst' : 'Rozwijaj szablony oznaczone szablonem SzablonSubst.', }); gConfig.register('StronaSubst', {name: mw.msg('StronaSubst-name'), descriptionPage: mw.msg('StronaSubst-description-page')}, [ { name: 'latex', desc: mw.msg('StronaSubst-latex'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_latex'] }, { name: 'mathml', desc: mw.msg('StronaSubst-mathml'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_mathml'] }, { name: 'opakuj_kategorie_ze_sortowaniem', desc: mw.msg('StronaSubst-opakuj_kategorie_ze_sortowaniem'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_opakuj_kategorie_ze_sortowaniem'] }, { name: 'ukrywaj_toc', desc: mw.msg('StronaSubst-ukrywaj_toc'), type: 'integer', deflt: 0, validation: function(n){ if((n<0)||(n==1)){ throw 'Wartość dotycząca poziomu ukrywania spisów treści jest nieprawidłowa!' }; return n; }, legacy: [window, 'wb_stronasubst_ukrywaj_toc'] }, { name: 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach', desc: mw.msg('StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'] }, { name: 'aktualizowanie_nazw_artykulow', desc: mw.msg('StronaSubst-aktualizowanie_nazw_artykulow'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nazw_artykulow'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'] }, { name: 'aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej', desc: mw.msg('StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'] }, { name: 'aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule', desc: mw.msg('StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'] }, { name: 'nie_usuwaj_styli', desc: mw.msg('StronaSubst-nie_usuwaj_styli'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_nie_usuwaj_styli'] }, { name: 'rozwijaj_szablony_oznaczone_szablonem_szablonsubst', desc: mw.msg('StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst'] }, ]); stronasubst_latex = (gConfig.get('StronaSubst', 'latex')==true); stronasubst_mathml = (((gConfig.get('StronaSubst', 'mathml'))&&(!stronasubst_latex))==true); stronasubst_opakuj_kategorie_ze_sortowaniem = (gConfig.get('StronaSubst', 'opakuj_kategorie_ze_sortowaniem')==true); stronasubst_ukrywaj_toc = gConfig.get('StronaSubst', 'ukrywaj_toc'); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach = gConfig.get('StronaSubst', 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'); stronasubst_aktualizowanie_nazw_artykulow = (gConfig.get('StronaSubst', 'aktualizowanie_nazw_artykulow')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami = (gConfig.get('StronaSubst', 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika = (gConfig.get('StronaSubst','aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika')==true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej = (gConfig.get('StronaSubst','aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej')==true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule = (gConfig.get('StronaSubst','aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule')==true); stronasubst_nie_usuwaj_styli = (gConfig.get('StronaSubst','nie_usuwaj_styli')==true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst = (gConfig.get('StronaSubst','rozwijaj_szablony_oznaczone_szablonem_szablonsubst')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} let stronasubst_tablica_tych_samych=new Array(); let stronasubst_tablica_rozdzialow=new Array(); let stronasubst_tablica_alternatywnych_nazw=new Array(); stronasubst_latex=((stronasubst_latex!==undefined)?stronasubst_latex:false); stronasubst_mathml=((stronasubst_mathml!==undefined)?stronasubst_mathml:true); stronasubst_opakuj_kategorie_ze_sortowaniem=((stronasubst_opakuj_kategorie_ze_sortowaniem!==undefined)?stronasubst_opakuj_kategorie_ze_sortowaniem:false); stronasubst_ukrywaj_toc=parseInt(((stronasubst_ukrywaj_toc!==undefined)?stronasubst_ukrywaj_toc:0)); stronasubst_ukrywaj_toc=((!isNaN(stronasubst_ukrywaj_toc))?stronasubst_ukrywaj_toc:0); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=((stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach!==undefined)?stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach:true); stronasubst_aktualizowanie_nazw_artykulow=((stronasubst_aktualizowanie_nazw_artykulow!==undefined)?stronasubst_aktualizowanie_nazw_artykulow:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika:true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=((stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej!==undefined)?stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej:true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=((stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule!==undefined)?stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule:true); stronasubst_nie_usuwaj_styli=((stronasubst_nie_usuwaj_styli!==undefined)?stronasubst_nie_usuwaj_styli:true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=((stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst!==undefined)?stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst:true); async function AnalizujDalejSzablonSubst(element_strony,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let rozdzial_ksiazki="rozdział_książki"; let el=$(element_strony).find('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((el!==null)&&(el.length>0)){ for(let i=0;i<el.length;++i){ let element_el=el[i]; let ksiazka=element_el.querySelector("."+rozdzial_ksiazki); if(ksiazka){ let nazwa_strony=element_el.getAttribute('nazwa_strony'); if(tab_promise2){tab_promise2.push(true);} CzyStronaSubst(element_el,nazwa_strony,tab_promise2); } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } async function WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let title=data.parse.title; let wikikod=data.parse.text['*']; let strona_hash; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let t=tab_uzyskane[0]; if(t==undefined){ console.log("Nie wykryto znacznika lsth_\d+."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } strona_hash=titles[t]; let selflink=document.createElement('div'); selflink.innerHTML=wikikod; let czy_selflink=selflink.getElementsByClassName('selflink'); if((czy_selflink!==null)&&(czy_selflink.length==1)){ let elements=tabstrona[strona_hash]; let a=document.createElement('a');/*Tworzenie linku*/ a.setAttribute('href',StronicowyParser.kodowanie.EncodeHtml(title)); a.innerHTML=strona_hash; let span=document.createElement('span'); span.appendChild(a); span.setAttribute("class","niw link");/*Dodawanie klasy, by inny skript JS to przeanalizował jako link*/ if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo(span); } for(let q in elements){ let element=elements[q]; element.innerHTML=""; element.appendChild(span); $(element).wrap(function(){return "<strong></strong>";}); let przed=document.createTextNode("{{:"); let po=document.createTextNode("}}"); element.insertBefore(przed,element.firstChild); element.appendChild(po); element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=tab_uzyskane[1].innerHTML; let elements=tabstrona[strona_hash]; for(let q in elements){ let element=elements[q]; element.innerHTML=wikikod; StronicowyParser.ZamienLinkiNaLinkiDoStronyAktualnej(element,title,titles); } StronicowyParser.AktualizujSpisTresciModuluStrony(elements,tabs,strona_hash,stronasubst_tablica_alternatywnych_nazw,stronasubst_tablica_tych_samych,stronasubst_tablica_rozdzialow,true,stronasubst_latex,stronasubst_mathml) let strona_start=$(elements[0]).parents(".strona_start"); let rodzic=undefined; if((strona_start!==null)&&(strona_start.length>0)){ rodzic=strona_start[0]; } StronicowyParser.IndeksujHeadLine(rodzic); StronicowyParser.PrzeIndeksujWszystkieTOC(rodzic,true); for(let q in elements){ let element=elements[q]; async function ElementDalszychObliczen(element,tab_promise2){ await StronicowyParser.muteks.zablokuj(true); StronicowyParser.PoprawRozdzialyStron(element); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu(element,tab_promise2);//Funkcja jako gadżet do numerowania rozdziałów. } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element,tab_promise2); } if((StronicowyParser.szablony&&StronicowyParser.szablony.LadujSzablon)&&(stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst)){ let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(element,title,titles,undefined,tab_promise).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(()=>{ if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(element); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} ElementDalszychObliczen(element,tab_promise2); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function ToogleTableOfContainer(panel){ let id=panel.target; let tagname=id.tagName.toUpperCase(); //console.log(czy_klasa,tagname,"TYTAN)"; if(tagname=="BUTTON"){ let czy_klasa_1=$(id).hasClass('sidebar-toc-toggle'); let czy_klasa_2=$(id).hasClass('vector-toc-collapse-button'); if(czy_klasa_1){ $(id).parent().children().last().each((i,element)=>{ let expanded=$(id).attr('aria-expanded'); if(expanded=="false"){ $(element).css('display',"block"); $(element).closest('li').addClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','true'); }else if(expanded=="true"){ $(element).css('display',"none"); $(element).closest('li').removeClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','false'); } }); }else if(czy_klasa_2){ $(id).parents('#sidebar-toc-label').siblings('ul').each((i,element)=>{ let ukryj=$(element).css('display'); if(ukryj!="none"){ $(element).css('display',"none"); id.innerHTML=" pokaż "; }else{ $(element).css('display',"block"); id.innerHTML=" ukryj " } }); } } } let mutekstoogle=new StronicowyParser.Muteks(); async function ScrollTableOfContainer(){ await mutekstoogle.zablokuj(); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').first().each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky.height-15; }); let parser=document.querySelector('#mw-content-text .mw-parser-output'); if(parser){ let rect=parser.getBoundingClientRect(); if(rect.top>=height_sticky){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item').first().addClass('sidebar-toc-list-item-active'); mutekstoogle.odblokuj(); return; } }else{ mutekstoogle.odblokuj(); return; } var str=$('#mw-content-text .mw-parser-output').find('h1, h2, h3, h4, h5, h6'); if((str!==null)&&(str.length>0)){ var naglowek; for(i=0;i<str.length;++i){ let element=str[i]; let rect=element.getBoundingClientRect(); if(rect.top>=height_sticky){ let mw_naglowek=element.querySelector('.mw-headline'); if(mw_naglowek){ let id_naglowek=mw_naglowek.getAttribute('id'); let tak=false; $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+id_naglowek){ let display=window.getComputedStyle(element, null).getPropertyValue('display'); if(display!="none"){ tak=true; } } }); if(tak){ naglowek=id_naglowek; break; } } } } if(naglowek){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+naglowek){ $(element).addClass('sidebar-toc-list-item-active'); } }); } } mutekstoogle.odblokuj(); } async function StronaSubst(element_strony,wikikod,aktualna_strona,tab_promise2){ await StronicowyParser.muteks.zablokuj(); StronicowyParser.NaprawNaglowkiStrony(element_strony,true); let czy_wikikod=wikikod.match(/^[_\s]*$/g); let strona_start=$('#mw-content-text .mw-parser-output .strona_start'); function CzyWszystkieNaglowkiWewnatrzStronaStart(){ let pole=$('#mw-content-text .mw-parser-output').find('h1,h2,h3,h4,h5,h6'); for(let i=0;i<pole.length;++i){ let s=strona_start.find(pole[i]); if((s===null)||(s.length==0)){ return false; } } return true; } if(czy_wikikod){ StronicowyParser.muteks.odblokuj(); let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyArtykulu)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyArtykulu(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } let czy_numerowac=StronicowyParser.CzyWlaczycSideBarTOC(undefined,true); if(czy_numerowac){ czy_numerowac=false; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: StronicowyParser.pageinfo.fullname, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+StronicowyParser.pageinfo.fullname+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ czy_numerowac=true; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ let tab_promise=new Array(true); StronicowyParser.LimitTOC(czy_numerowac,stronasubst_ukrywaj_toc); StronicowyParser.szablony.LadujSzablon(null,null,null,czy_numerowac,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true) StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],czy_numerowac,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(czy_numerowac)){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} return; } let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(null,null,null,undefined,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async (result) => { let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } await StronicowyParser.CzekajNaZakaczenie(tab_promise).then(async (result) => {}).catch(()=>{}); await StronicowyParser.muteks.zablokuj(); if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); let rozdzial_ksiazki="rozdział_książki"; let tagclass=element_strony.getElementsByClassName(rozdzial_ksiazki); if(tagclass===null){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return null; } let liczba_elementow=tagclass.length; if(liczba_elementow==0){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return null; } let titles=new Array(); let tabstrona=new Array(); let tabs=new Array(); let tab_section=new Array(); if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element_strony,tab_promise2); } let tab_hn=new Array(); async function edit_action(numer,strona,hn,link_strona,czy_link_nie_w_naglowku){ await StronicowyParser.muteks.zablokuj(); let linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection===null){ let editsection=document.createElement('span'); editsection.classList.add('mw-editsection'); let bracket_poczatek=document.createElement('span'); bracket_poczatek.classList.add('mw-editsection-bracket') bracket_poczatek.innerHTML="["; let a=document.createElement('a'); a.setAttribute('href',"/w/index.php?title="+StronicowyParser.kodowanie.EncodeHtml(strona,false,true)+"&action=edit"+((numer>0)?("&section="+numer):"")); a.setAttribute('title',"Edytuj artykuł: "+link_strona); a.innerHTML="edytuj"; let bracket_koniec=document.createElement('span'); bracket_koniec.classList.add('mw-editsection-bracket') bracket_koniec.innerHTML="]"; editsection.appendChild(bracket_poczatek); editsection.appendChild(a) editsection.appendChild(bracket_koniec); hn.appendChild(editsection); } linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection!==null){ let mw_editsection_bracket=linkstrony_editsection.querySelector('a'); if(mw_editsection_bracket!==null){ if(czy_link_nie_w_naglowku){ let a=document.createElement('a'); a.innerHTML="artykuł"; a.setAttribute("href",StronicowyParser.kodowanie.EncodeHtml("/wiki/"+StronicowyParser.kodowanie.EncodeHtml(link_strona,false,true))); a.setAttribute("title","Zobacz artykuł: "+link_strona); let span=document.createElement('span'); span.innerHTML="| "; span.setAttribute('class',"mw-editsection-bracket") let czy_ma=$(mw_editsection_bracket).parent().hasClass('link'); if(czy_ma){ let rodzic_mw_editsection_bracket=mw_editsection_bracket.parentNode; let span2=linkstrony_editsection.insertBefore(span, rodzic_mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); }else{ let span2=linkstrony_editsection.insertBefore(span, mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); } } } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(linkstrony_editsection).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); } for (let i=0;i<liczba_elementow;++i){ let tagclassname=tagclass[i]; let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find("."+rozdzial_ksiazki); function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==tagclassname){ return true; } } return false; } if(CzyOdrzucic()){continue;} if(tagclassname.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let class_element=tagclassname.getElementsByClassName('strona_subst'); let element; if((class_element!==null)&&(class_element.length==1)){ element=class_element[0]; if(element.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let czy_link_nie_w_naglowku; let strona_headline=tagclassname.getElementsByClassName('mw-headline'); let link_strona; if((strona_headline!==null)&&(strona_headline.length==1)){ strona_a=strona_headline[0].getElementsByTagName('a'); if((strona_a!==null)&&(strona_a.length==1)){ link_strona=StronicowyParser.kodowanie.DecodeHtml(strona_a[0].getAttribute('href')); if(link_strona!==null){ let re=/\/wiki\//g; if(re.test(link_strona)){ link_strona=link_strona.substring(6,link_strona.length); czy_link_nie_w_naglowku=false; }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } } }else{ link_strona=StronicowyParser.style.UsunStyle(element.innerHTML); czy_link_nie_w_naglowku=true; } } let re = /^[_\s]*$/g; let dopasowanie = re.test(link_strona); if(dopasowanie){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return; }; link_strona=link_strona.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ").replace(/&amp;/g,"&").replace(/&nbsp;/g," "); let hash=link_strona.replace(/^([^#]*)#(.*)$/,"$2").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); /**/ let hn=strona_headline[0].parentNode; if((hn===null)||(!hn.tagName.toUpperCase().match(/^H\d+$/g))){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} tab_section[i]=new Array(hn,link_strona,czy_link_nie_w_naglowku); let strona=link_strona.match(/^[^#]*/g).toString(); async function PraceIteracyjne(tab_promise2){ await StronicowyParser.muteks.zablokuj(); if(/#/g.test(link_strona)){ let hash=link_strona.replace(/^([^#]*)#(.*)$/g,"$2"); if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let numer=hn.innerHTML; numer=parseInt(numer); if(isNaN(numer)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return ;} let tab_c=tab_section[c]; edit_action(numer,tab_c[1].match(/^[^#]*/g).toString(),tab_c[0],tab_c[1],tab_c[2]); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami){ if(!stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); }else{ let uzupelniaj_sekcje_artykulow; if(stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule){ uzupelniaj_sekcje_artykulow="tak"; }else{ uzupelniaj_sekcje_artykulow=""; } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+link_strona+"|analiza=tak|uzupełniaj sekcje artykułów="+uzupelniaj_sekcje_artykulow+"|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; let a=headline.getElementsByTagName('a'); if((a!==null)&&(a.length>0)){ a[0].setAttribute('title',stare); } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } }else{ edit_action(0,strona,hn,link_strona,czy_link_nie_w_naglowku); if(stronasubst_aktualizowanie_nazw_artykulow){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+strona+"|analiza=tak|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceIteracyjne(tab_promise2).then((result) => {}).catch((error) => {}); },1000); /**/ tabs[i]=link_strona; let czy=false; for(let d in titles){ if(titles[d]==link_strona){ czy=true; break; } } if(!czy){ titles[titles.length]=link_strona; } if(tabstrona[link_strona]==null){ tabstrona[link_strona]=new Array(); } let tab=tabstrona[link_strona]; let tablen=tab.length; tabstrona[link_strona][tablen]=element; } async function PraceNaglowki(tab_promise2){ await StronicowyParser.muteks.zablokuj(); let promise; if(element_strony==document){ let namespace=StronicowyParser.pageinfo.namespace; let strona_podrecznika=((namespace!="")?(namespace+":"):"")+StronicowyParser.pageinfo.bookname; promise=Promise.resolve(strona_podrecznika); }else{ let zaan=$(element_strony).parents('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((zaan!==null)&&(zaan.length>0)){ let strona=zaan[0].getAttribute('nazwa_strony'); if(strona){ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](strona); }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } } if(tab_promise2){tab_promise2.push(true);} promise.then(async (strona_podrecznika)=>{ await StronicowyParser.muteks.zablokuj(); let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find(".klasa_nagłówka"); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)){ let g=0; let tab_naglowka=new Array(); let tab_hn=new Array(); for(let z=0;z<klasa_naglowka.length;++z){ let pojedyncza_klasa_naglowka=klasa_naglowka[z]; function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==pojedyncza_klasa_naglowka){ return true; } } return false; } if(CzyOdrzucic()){continue;} let dana_klasa_naglowka=pojedyncza_klasa_naglowka.querySelector('.mw-headline'); if(dana_klasa_naglowka!==null){ if((dana_klasa_naglowka.parentNode!==null)&&(dana_klasa_naglowka.parentNode.tagName.toUpperCase().match(/^[Hh]\d+$/g)) &&(dana_klasa_naglowka.parentNode.parentNode!=null)&&(dana_klasa_naglowka.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&($(dana_klasa_naglowka.parentNode.parentNode).hasClass('klasa_nagłówka'))){ let naglowek=StronicowyParser.style.UsunStyle(dana_klasa_naglowka.innerHTML).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); let ww=1; for(let x=0;x<tab_naglowka.length;++x){ if(tab_naglowka[x]==naglowek){ ++ww; } } naglowek=naglowek+((ww>1)?ww:""); tab_naglowka[g]=naglowek; tab_hn[g]=dana_klasa_naglowka.parentNode; if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, na stronie głównej podręcznika, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let nazwa_podrecznika=strona_podrecznika.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") let naglowek_sekcji_podrecznika=tab_naglowka[c].replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") edit_action(c+1,nazwa_podrecznika,tab_hn[c],nazwa_podrecznika+"#"+naglowek_sekcji_podrecznika,true); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();return;} let headline=tab_hn[c].querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } ++g; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceNaglowki(tab_promise2).then((result) => {}).catch((error) => {}); },1000); function RozwazajNaglowki(){ let toc_fun=new StronicowyParser.ListaNodeTOC(); if((toc_fun.toc!==null)&&(toc_fun.toc.length>0)){ for(let w=0;w<toc_fun.toc.length;++w){ let czy_side_bar_toc=toc_fun.CzySideBarToc(toc_fun.toc[w]); let ile_jest=0; let li=toc_fun.toc[w].getElementsByTagName('li'); if((li!==null)&&(li.length>0)){ for(let dd=0;dd<li.length;++dd){ let element_li=li[dd]; let tocnumber;let toctext_wartosc; if(czy_side_bar_toc){ tocnumber=element_li.querySelector('.sidebar-toc-numb'); if(!tocnumber){continue;} toctext_wartosc=element_li.querySelector('.sidebar-toc-text').innerHTML.replace(new RegExp(StronicowyParser.wzor.BezZnakowSpecjalnych(tocnumber.outerHTML),"g"),""); }else{ tocnumber=element_li.querySelector('.tocnumber'); toctext_wartosc=element_li.querySelector('.toctext').innerHTML; } if((tocnumber!==null)&&(toctext_wartosc!==null)){ let czy_jest=undefined; let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)&&(klasa_naglowka[ile_jest]!=null)){ let element_klasa_naglowka=klasa_naglowka[ile_jest]; let headline=element_klasa_naglowka.querySelector('.mw-headline'); if((headline!==null) &&(headline.parentNode!==null) &&(headline.parentNode.tagName.toUpperCase().match(/^H\d+$/)) &&(headline.parentNode.parentNode!==null) &&(headline.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&(headline.parentNode.parentNode===element_klasa_naglowka) ){ let element_a; if(czy_side_bar_toc){ element_a=tocnumber.parentNode.parentNode; }else{ element_a=tocnumber.parentNode; } if(element_a.tagName.toUpperCase()=="A"){ let href=StronicowyParser.kodowanie.DecodeHtml(element_a.getAttribute('href')); if(href!==null){ href=href.replace(/^#/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); let id_headline=headline.getAttribute('id'); if(id_headline!==null){ id_headline=id_headline.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); if(href!=id_headline){czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} if(czy_jest===undefined){ile_jest+=1;} if((czy_jest===undefined)||(!czy_jest)){ let element_toctext=StronicowyParser.style.UsunStyle(toctext_wartosc).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," "); if(stronasubst_tablica_rozdzialow[element_toctext]==null){ stronasubst_tablica_rozdzialow[element_toctext]=new Array(tocnumber); }else{ stronasubst_tablica_rozdzialow[element_toctext].push(tocnumber); } } } } } } } } StronicowyParser.LimitTOC(true,stronasubst_ukrywaj_toc); if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],true,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(StronicowyParser.CzyWlaczycSideBarTOC(undefined,true))){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } RozwazajNaglowki(); if(stronasubst_mathml){ $("div.toc ul > li > a > span.toctext").toggleClass("mathml"); $("div.toc_spis ul > li > a > span.toctext").toggleClass("mathml"); $("div.mw-table-of-contents-container > nav.sidebar-toc ul > li > a > div.sidebar-toc-text").toggleClass("mathml"); } function Strona(strona){ let strona_re=StronicowyParser.wzor.BezZnakowSpecjalnych(strona); let re=new RegExp("^\\s*"+strona_re+"\\s*#","g"); return re; } function CzyArtykulyZNaglowkamiDlaStrony(re){ for(let s in titles){ let czy_hash=titles[s].match(re); if(czy_hash){ return true; } } return false; } let catlinks_fun=new StronicowyParser.LinkiKategorii(); await catlinks_fun.PobierzKategorieStrony(); for ( let t in titles ) { let strona=titles[t].match(/^[^#]*/g).toString(); let szablon_artykulu; let re_strona=Strona(strona); let czy_naglowki=CzyArtykulyZNaglowkamiDlaStrony(re_strona); if(!czy_naglowki){ szablon_artykulu="{{:"+strona+"}}"; }else{ /*---------------------------------*/ let rozdzial1=null; let re=/^([^#]*)#(.*)$/g; if(re.test(titles[t])){ rozdzial1=titles[t].replace(re,"$2"); rozdzial1=rozdzial1.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial1="";} let rozdzial2=null; let tit=titles[parseInt(t)+1]; if( tit && re.test(tit) && re_strona.test(tit)){ rozdzial2=tit.replace(re,"$2"); rozdzial2=rozdzial2.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial2="";} /*---------------------------*/ szablon_artykulu="{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|TekstRozdziałuStrony|"+strona+"|"+rozdzial1+"|"+rozdzial2+"}}}}"; } szablon_artykulu="{{PrzytnijTekst|"+szablon_artykulu+"}}"; if(stronasubst_opakuj_kategorie_ze_sortowaniem){ szablon_artykulu="{{OpakujKategorieZeSortowaniem|"+szablon_artykulu+"}}" } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text|categories', title: strona, text: "<div class=\"hn hn_"+t+"\">\n"+szablon_artykulu+"\n</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); catlinks_fun.AnalizaKategorii(data).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);} WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2).then((result) => {}).catch((error) => {}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function CzyszczenieZZdarzeńTableOfContent(){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } } } CzyszczenieZZdarzeńTableOfContent(); let tab_promise2=new StronicowyParser.SugerowaneObiekty(); async function CzyStronaSubst(element,aktualna_strona,tab_promise2){ if(tab_promise2){tab_promise2.push(true);} await StronicowyParser.muteks.zablokuj(); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronaSubst}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.expandtemplates.wikitext; if((wikikod!==null)&&(aktualna_strona!==null)){ if(tab_promise2){tab_promise2.push(true);} StronaSubst(element,wikikod,aktualna_strona,tab_promise2).then((result) => {}).catch((error) => {}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } let aktualna_strona=StronicowyParser.pageinfo.fullname; if(tab_promise2){tab_promise2.push(true,true);} CzyStronaSubst(document,aktualna_strona,tab_promise2); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} function Progress(){ var c=document.createElement('div'); c.setAttribute("id","pasek_postępu") c.setAttribute('style','margin-top:-2px;margin-left:-2px;position:absolute;width:250px;height:80px;border:1px solid black;box-sizing:border-box;padding:5px;background-color:white;display:flex;flex-direction:column;box-sizing:border-box;'); var label=document.createElement('label'); label.setAttribute('for','file1'); label.innerHTML="<span style=\"color:blue;\">Ukończone wątki: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_0=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file1') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;'); progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_1=c.appendChild(progress); var label=document.createElement('label'); label.setAttribute('for','file2'); label.innerHTML="<span style=\"color:blue;\">Zwolnione blokaty: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_1=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file2') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;') progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_2=c.appendChild(progress); function PozycjaXY(){ c.style.top=(window.scrollY+document.documentElement.clientHeight-parseFloat(c.style.height))+"px"; c.style.left=(window.scrollX+document.documentElement.clientWidth-parseFloat(c.style.width))+"px"; } document.querySelector('body').appendChild(c); PozycjaXY(); $(window).on('scroll',PozycjaXY); $(window).on('resize',PozycjaXY); return new Array(element_body_progress_1,element_body_progress_2,span_0,span_1); } var arr; function __FUNKCJA(arr){ arr[0].setAttribute("value","0"); arr[1].setAttribute("value","0"); let dodatnie_0=tab_promise2.lengthPlus; let ujemne_0=tab_promise2.lengthMinus; let dodatnie_1=StronicowyParser.muteks.LiczbaBlokatPlus; let ujemne_1=StronicowyParser.muteks.LiczbaBlokatMinus; let postep_0=((dodatnie_0>0)?((ujemne_0/dodatnie_0)*100):0); let postep_1=((dodatnie_1>0)?((ujemne_1/dodatnie_1)*100):0); arr[0].setAttribute("value",postep_0); arr[1].setAttribute("value",postep_1); arr[2].innerHTML=(parseInt(postep_0*1000)/1000)+"%"; arr[3].innerHTML=(parseInt(postep_1*1000)/1000)+"%"; } StronicowyParser.CzekajNaZakaczenie(tab_promise2,null,StronicowyParser.muteks,(tab_promise)=>{arr=Progress();__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);setTimeout(function(){let node_postep=document.getElementById('pasek_postępu');$(node_postep).remove();},2000);}).then(async (result) => {}).catch(()=>{}); }; StronicowyParser.WyswietlStronyKsiazki().then((result) => {}).catch((error) => {}); }); syeqhk5zhe9a49gdxknf34nk4qszy1r 437324 437323 2022-08-09T17:23:32Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.WyswietlStronyKsiazki=async function(){ await StronicowyParser.muteks.zablokuj(); let stronasubst_latex=undefined; let stronasubst_mathml=undefined; let stronasubst_opakuj_kategorie_ze_sortowaniem=undefined; let stronasubst_ukrywaj_toc=undefined; let stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=undefined; let stronasubst_aktualizowanie_nazw_artykulow=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=undefined; let stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=undefined; let stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=undefined; let stronasubst_nie_usuwaj_styli=undefined; let stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'StronaSubst-name': 'Strona zbiorcza', 'StronaSubst-description-page': 'Wikibooks:StronicowyParser/StronaSubst', 'StronaSubst-latex': 'Zamiast wzorów, wstaw tekst latexowy, w przeciwnym przypadku jest w formie LaTeX.', 'StronaSubst-mathml': 'Zamiast wzorów latexowych, wstaw je w formie znaczników MathML.', 'StronaSubst-opakuj_kategorie_ze_sortowaniem' : 'W stronach zbiorczych opakowuje kategorie, w postaci ramki, dla każdego artykułu z osobna.', 'StronaSubst-ukrywaj_toc' : "Ukrywa, począwszy od jakiegoś poziomu wszystkich tam spisów treści, na stronach zbiorczych.", 'StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach' : "Włącza dymki, nad linkami, w ładowanych dynamicznie stronach, tworząc je inteligentnymi.", 'StronaSubst-aktualizowanie_nazw_artykulow' : 'Aktualizuje na podstawie strony głównej nazwy tylko artykułów.', 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami' : "Aktualizuje sekcje poszczegónych rozdziałów artykułów ładowanych rozdziałami, domyślnie według sekcji w tych jednostkach.", 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika' : 'Aktualizuje, sekcje artykułów ładowanych rozdziałami, na podstawie strony głównej książki, a nie jego artykułów.', 'StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej' : 'Aktualizuje nagłówki strony głównej podręcznika na stronie zbiorczej.', 'StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule' : 'Aktualizuje, brakujące sekcje rozdziałów ładowanych rozdziałami artykułów, według wpisów na stronie głównej, na stronie zbiorczej.', 'StronaSubst-nie_usuwaj_styli' : 'Nie usuwa styli z nagłówków ładowanych stron.', 'StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst' : 'Rozwijaj szablony oznaczone szablonem SzablonSubst.', }); gConfig.register('StronaSubst', {name: mw.msg('StronaSubst-name'), descriptionPage: mw.msg('StronaSubst-description-page')}, [ { name: 'latex', desc: mw.msg('StronaSubst-latex'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_latex'] }, { name: 'mathml', desc: mw.msg('StronaSubst-mathml'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_mathml'] }, { name: 'opakuj_kategorie_ze_sortowaniem', desc: mw.msg('StronaSubst-opakuj_kategorie_ze_sortowaniem'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_opakuj_kategorie_ze_sortowaniem'] }, { name: 'ukrywaj_toc', desc: mw.msg('StronaSubst-ukrywaj_toc'), type: 'integer', deflt: 0, validation: function(n){ if((n<0)||(n==1)){ throw 'Wartość dotycząca poziomu ukrywania spisów treści jest nieprawidłowa!' }; return n; }, legacy: [window, 'wb_stronasubst_ukrywaj_toc'] }, { name: 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach', desc: mw.msg('StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'] }, { name: 'aktualizowanie_nazw_artykulow', desc: mw.msg('StronaSubst-aktualizowanie_nazw_artykulow'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nazw_artykulow'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'] }, { name: 'aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej', desc: mw.msg('StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'] }, { name: 'aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule', desc: mw.msg('StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'] }, { name: 'nie_usuwaj_styli', desc: mw.msg('StronaSubst-nie_usuwaj_styli'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_nie_usuwaj_styli'] }, { name: 'rozwijaj_szablony_oznaczone_szablonem_szablonsubst', desc: mw.msg('StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst'] }, ]); stronasubst_latex = (gConfig.get('StronaSubst', 'latex')==true); stronasubst_mathml = (((gConfig.get('StronaSubst', 'mathml'))&&(!stronasubst_latex))==true); stronasubst_opakuj_kategorie_ze_sortowaniem = (gConfig.get('StronaSubst', 'opakuj_kategorie_ze_sortowaniem')==true); stronasubst_ukrywaj_toc = gConfig.get('StronaSubst', 'ukrywaj_toc'); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach = gConfig.get('StronaSubst', 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'); stronasubst_aktualizowanie_nazw_artykulow = (gConfig.get('StronaSubst', 'aktualizowanie_nazw_artykulow')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami = (gConfig.get('StronaSubst', 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika = (gConfig.get('StronaSubst','aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika')==true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej = (gConfig.get('StronaSubst','aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej')==true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule = (gConfig.get('StronaSubst','aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule')==true); stronasubst_nie_usuwaj_styli = (gConfig.get('StronaSubst','nie_usuwaj_styli')==true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst = (gConfig.get('StronaSubst','rozwijaj_szablony_oznaczone_szablonem_szablonsubst')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} let stronasubst_tablica_tych_samych=new Array(); let stronasubst_tablica_rozdzialow=new Array(); let stronasubst_tablica_alternatywnych_nazw=new Array(); stronasubst_latex=((stronasubst_latex!==undefined)?stronasubst_latex:false); stronasubst_mathml=((stronasubst_mathml!==undefined)?stronasubst_mathml:true); stronasubst_opakuj_kategorie_ze_sortowaniem=((stronasubst_opakuj_kategorie_ze_sortowaniem!==undefined)?stronasubst_opakuj_kategorie_ze_sortowaniem:false); stronasubst_ukrywaj_toc=parseInt(((stronasubst_ukrywaj_toc!==undefined)?stronasubst_ukrywaj_toc:0)); stronasubst_ukrywaj_toc=((!isNaN(stronasubst_ukrywaj_toc))?stronasubst_ukrywaj_toc:0); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=((stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach!==undefined)?stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach:true); stronasubst_aktualizowanie_nazw_artykulow=((stronasubst_aktualizowanie_nazw_artykulow!==undefined)?stronasubst_aktualizowanie_nazw_artykulow:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika:true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=((stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej!==undefined)?stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej:true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=((stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule!==undefined)?stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule:true); stronasubst_nie_usuwaj_styli=((stronasubst_nie_usuwaj_styli!==undefined)?stronasubst_nie_usuwaj_styli:true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=((stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst!==undefined)?stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst:true); async function AnalizujDalejSzablonSubst(element_strony,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let rozdzial_ksiazki="rozdział_książki"; let el=$(element_strony).find('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((el!==null)&&(el.length>0)){ for(let i=0;i<el.length;++i){ let element_el=el[i]; let ksiazka=element_el.querySelector("."+rozdzial_ksiazki); if(ksiazka){ let nazwa_strony=element_el.getAttribute('nazwa_strony'); if(tab_promise2){tab_promise2.push(true);} CzyStronaSubst(element_el,nazwa_strony,tab_promise2); } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } async function WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let title=data.parse.title; let wikikod=data.parse.text['*']; let strona_hash; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let t=tab_uzyskane[0]; if(t==undefined){ console.log("Nie wykryto znacznika lsth_\d+."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } strona_hash=titles[t]; let selflink=document.createElement('div'); selflink.innerHTML=wikikod; let czy_selflink=selflink.getElementsByClassName('selflink'); if((czy_selflink!==null)&&(czy_selflink.length==1)){ let elements=tabstrona[strona_hash]; let a=document.createElement('a');/*Tworzenie linku*/ a.setAttribute('href',StronicowyParser.kodowanie.EncodeHtml(title)); a.innerHTML=strona_hash; let span=document.createElement('span'); span.appendChild(a); span.setAttribute("class","niw link");/*Dodawanie klasy, by inny skript JS to przeanalizował jako link*/ if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo(span); } for(let q in elements){ let element=elements[q]; element.innerHTML=""; element.appendChild(span); $(element).wrap(function(){return "<strong></strong>";}); let przed=document.createTextNode("{{:"); let po=document.createTextNode("}}"); element.insertBefore(przed,element.firstChild); element.appendChild(po); element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=tab_uzyskane[1].innerHTML; let elements=tabstrona[strona_hash]; for(let q in elements){ let element=elements[q]; element.innerHTML=wikikod; StronicowyParser.ZamienLinkiNaLinkiDoStronyAktualnej(element,title,titles); } StronicowyParser.AktualizujSpisTresciModuluStrony(elements,tabs,strona_hash,stronasubst_tablica_alternatywnych_nazw,stronasubst_tablica_tych_samych,stronasubst_tablica_rozdzialow,true,stronasubst_latex,stronasubst_mathml) let strona_start=$(elements[0]).parents(".strona_start"); let rodzic=undefined; if((strona_start!==null)&&(strona_start.length>0)){ rodzic=strona_start[0]; } StronicowyParser.IndeksujHeadLine(rodzic); StronicowyParser.PrzeIndeksujWszystkieTOC(rodzic,true); for(let q in elements){ let element=elements[q]; async function ElementDalszychObliczen(element,tab_promise2){ await StronicowyParser.muteks.zablokuj(true); StronicowyParser.PoprawRozdzialyStron(element); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu(element,tab_promise2);//Funkcja jako gadżet do numerowania rozdziałów. } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element,tab_promise2); } if((StronicowyParser.szablony&&StronicowyParser.szablony.LadujSzablon)&&(stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst)){ let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(element,title,titles,undefined,tab_promise).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(()=>{ if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(element); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} ElementDalszychObliczen(element,tab_promise2); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function ToogleTableOfContainer(panel){ let id=panel.target; let tagname=id.tagName.toUpperCase(); //console.log(czy_klasa,tagname,"TYTAN)"; if(tagname=="BUTTON"){ let czy_klasa_1=$(id).hasClass('sidebar-toc-toggle'); let czy_klasa_2=$(id).hasClass('vector-toc-collapse-button'); if(czy_klasa_1){ $(id).parent().children().last().each((i,element)=>{ let expanded=$(id).attr('aria-expanded'); if(expanded=="false"){ $(element).css('display',"block"); $(element).closest('li').addClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','true'); }else if(expanded=="true"){ $(element).css('display',"none"); $(element).closest('li').removeClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','false'); } }); }else if(czy_klasa_2){ $(id).parents('#sidebar-toc-label').siblings('ul').each((i,element)=>{ let ukryj=$(element).css('display'); if(ukryj!="none"){ $(element).css('display',"none"); id.innerHTML=" pokaż "; }else{ $(element).css('display',"block"); id.innerHTML=" ukryj " } }); } } } let mutekstoogle=new StronicowyParser.Muteks(); async function ScrollTableOfContainer(){ await mutekstoogle.zablokuj(); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').first().each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky.height-15; }); let parser=document.querySelector('#mw-content-text .mw-parser-output'); if(parser){ let rect=parser.getBoundingClientRect(); if(rect.top>=height_sticky){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item').first().addClass('sidebar-toc-list-item-active'); mutekstoogle.odblokuj(); return; } }else{ mutekstoogle.odblokuj(); return; } var str=$('#mw-content-text .mw-parser-output').find('h1, h2, h3, h4, h5, h6'); if((str!==null)&&(str.length>0)){ var naglowek; for(i=0;i<str.length;++i){ let element=str[i]; let rect=element.getBoundingClientRect(); if(rect.top>=height_sticky){ let mw_naglowek=element.querySelector('.mw-headline'); if(mw_naglowek){ let id_naglowek=mw_naglowek.getAttribute('id'); let tak=false; $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+id_naglowek){ let display=window.getComputedStyle(element, null).getPropertyValue('display'); if(display!="none"){ tak=true; } } }); if(tak){ naglowek=id_naglowek; break; } } } } if(naglowek){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+naglowek){ $(element).addClass('sidebar-toc-list-item-active'); } }); } } mutekstoogle.odblokuj(); } async function StronaSubst(element_strony,wikikod,aktualna_strona,tab_promise2){ await StronicowyParser.muteks.zablokuj(); StronicowyParser.NaprawNaglowkiStrony(element_strony,true); let czy_wikikod=wikikod.match(/^[_\s]*$/g); let strona_start=$('#mw-content-text .mw-parser-output .strona_start'); function CzyWszystkieNaglowkiWewnatrzStronaStart(){ let pole=$('#mw-content-text .mw-parser-output').find('h1,h2,h3,h4,h5,h6'); for(let i=0;i<pole.length;++i){ let s=strona_start.find(pole[i]); if((s===null)||(s.length==0)){ return false; } } return true; } if(czy_wikikod){ StronicowyParser.muteks.odblokuj(); let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyArtykulu)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyArtykulu(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } let czy_numerowac=StronicowyParser.CzyWlaczycSideBarTOC(undefined,true); if(czy_numerowac){ czy_numerowac=false; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: StronicowyParser.pageinfo.fullname, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+StronicowyParser.pageinfo.fullname+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ czy_numerowac=true; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ let tab_promise=new Array(true); StronicowyParser.LimitTOC(czy_numerowac,stronasubst_ukrywaj_toc); StronicowyParser.szablony.LadujSzablon(null,null,null,czy_numerowac,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true) StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],czy_numerowac,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(czy_numerowac)){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} return; } let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(null,null,null,undefined,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async (result) => { let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } await StronicowyParser.CzekajNaZakaczenie(tab_promise).then(async (result) => {}).catch(()=>{}); await StronicowyParser.muteks.zablokuj(); if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); let rozdzial_ksiazki="rozdział_książki"; let tagclass=element_strony.getElementsByClassName(rozdzial_ksiazki); if(tagclass===null){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return null; } let liczba_elementow=tagclass.length; if(liczba_elementow==0){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return null; } let titles=new Array(); let tabstrona=new Array(); let tabs=new Array(); let tab_section=new Array(); if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element_strony,tab_promise2); } let tab_hn=new Array(); async function edit_action(numer,strona,hn,link_strona,czy_link_nie_w_naglowku){ await StronicowyParser.muteks.zablokuj(); let linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection===null){ let editsection=document.createElement('span'); editsection.classList.add('mw-editsection'); let bracket_poczatek=document.createElement('span'); bracket_poczatek.classList.add('mw-editsection-bracket') bracket_poczatek.innerHTML="["; let a=document.createElement('a'); a.setAttribute('href',"/w/index.php?title="+StronicowyParser.kodowanie.EncodeHtml(strona,false,true)+"&action=edit"+((numer>0)?("&section="+numer):"")); a.setAttribute('title',"Edytuj artykuł: "+link_strona); a.innerHTML="edytuj"; let bracket_koniec=document.createElement('span'); bracket_koniec.classList.add('mw-editsection-bracket') bracket_koniec.innerHTML="]"; editsection.appendChild(bracket_poczatek); editsection.appendChild(a) editsection.appendChild(bracket_koniec); hn.appendChild(editsection); } linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection!==null){ let mw_editsection_bracket=linkstrony_editsection.querySelector('a'); if(mw_editsection_bracket!==null){ if(czy_link_nie_w_naglowku){ let a=document.createElement('a'); a.innerHTML="artykuł"; a.setAttribute("href",StronicowyParser.kodowanie.EncodeHtml("/wiki/"+StronicowyParser.kodowanie.EncodeHtml(link_strona,false,true))); a.setAttribute("title","Zobacz artykuł: "+link_strona); let span=document.createElement('span'); span.innerHTML="| "; span.setAttribute('class',"mw-editsection-bracket") let czy_ma=$(mw_editsection_bracket).parent().hasClass('link'); if(czy_ma){ let rodzic_mw_editsection_bracket=mw_editsection_bracket.parentNode; let span2=linkstrony_editsection.insertBefore(span, rodzic_mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); }else{ let span2=linkstrony_editsection.insertBefore(span, mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); } } } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(linkstrony_editsection).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); } for (let i=0;i<liczba_elementow;++i){ let tagclassname=tagclass[i]; let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find("."+rozdzial_ksiazki); function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==tagclassname){ return true; } } return false; } if(CzyOdrzucic()){continue;} if(tagclassname.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let class_element=tagclassname.getElementsByClassName('strona_subst'); let element; if((class_element!==null)&&(class_element.length==1)){ element=class_element[0]; if(element.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let czy_link_nie_w_naglowku; let strona_headline=tagclassname.getElementsByClassName('mw-headline'); let link_strona; if((strona_headline!==null)&&(strona_headline.length==1)){ strona_a=strona_headline[0].getElementsByTagName('a'); if((strona_a!==null)&&(strona_a.length==1)){ link_strona=StronicowyParser.kodowanie.DecodeHtml(strona_a[0].getAttribute('href')); if(link_strona!==null){ let re=/\/wiki\//g; if(re.test(link_strona)){ link_strona=link_strona.substring(6,link_strona.length); czy_link_nie_w_naglowku=false; }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } } }else{ link_strona=StronicowyParser.style.UsunStyle(element.innerHTML); czy_link_nie_w_naglowku=true; } } let re = /^[_\s]*$/g; let dopasowanie = re.test(link_strona); if(dopasowanie){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return; }; link_strona=link_strona.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ").replace(/&amp;/g,"&").replace(/&nbsp;/g," "); let hash=link_strona.replace(/^([^#]*)#(.*)$/,"$2").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); /**/ let hn=strona_headline[0].parentNode; if((hn===null)||(!hn.tagName.toUpperCase().match(/^H\d+$/g))){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} tab_section[i]=new Array(hn,link_strona,czy_link_nie_w_naglowku); let strona=link_strona.match(/^[^#]*/g).toString(); async function PraceIteracyjne(tab_promise2){ await StronicowyParser.muteks.zablokuj(); if(/#/g.test(link_strona)){ let hash=link_strona.replace(/^([^#]*)#(.*)$/g,"$2"); if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let numer=hn.innerHTML; numer=parseInt(numer); if(isNaN(numer)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return ;} let tab_c=tab_section[c]; edit_action(numer,tab_c[1].match(/^[^#]*/g).toString(),tab_c[0],tab_c[1],tab_c[2]); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami){ if(!stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); }else{ let uzupelniaj_sekcje_artykulow; if(stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule){ uzupelniaj_sekcje_artykulow="tak"; }else{ uzupelniaj_sekcje_artykulow=""; } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+link_strona+"|analiza=tak|uzupełniaj sekcje artykułów="+uzupelniaj_sekcje_artykulow+"|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; let a=headline.getElementsByTagName('a'); if((a!==null)&&(a.length>0)){ a[0].setAttribute('title',stare); } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } }else{ edit_action(0,strona,hn,link_strona,czy_link_nie_w_naglowku); if(stronasubst_aktualizowanie_nazw_artykulow){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+strona+"|analiza=tak|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceIteracyjne(tab_promise2).then((result) => {}).catch((error) => {}); },1000); /**/ tabs[i]=link_strona; let czy=false; for(let d in titles){ if(titles[d]==link_strona){ czy=true; break; } } if(!czy){ titles[titles.length]=link_strona; } if(tabstrona[link_strona]==null){ tabstrona[link_strona]=new Array(); } let tab=tabstrona[link_strona]; let tablen=tab.length; tabstrona[link_strona][tablen]=element; } async function PraceNaglowki(tab_promise2){ await StronicowyParser.muteks.zablokuj(); let promise; if(element_strony==document){ let namespace=StronicowyParser.pageinfo.namespace; let strona_podrecznika=((namespace!="")?(namespace+":"):"")+StronicowyParser.pageinfo.bookname; promise=Promise.resolve(strona_podrecznika); }else{ let zaan=$(element_strony).parents('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((zaan!==null)&&(zaan.length>0)){ let strona=zaan[0].getAttribute('nazwa_strony'); if(strona){ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](strona); }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } } if(tab_promise2){tab_promise2.push(true);} promise.then(async (strona_podrecznika)=>{ await StronicowyParser.muteks.zablokuj(); let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find(".klasa_nagłówka"); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)){ let g=0; let tab_naglowka=new Array(); let tab_hn=new Array(); for(let z=0;z<klasa_naglowka.length;++z){ let pojedyncza_klasa_naglowka=klasa_naglowka[z]; function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==pojedyncza_klasa_naglowka){ return true; } } return false; } if(CzyOdrzucic()){continue;} let dana_klasa_naglowka=pojedyncza_klasa_naglowka.querySelector('.mw-headline'); if(dana_klasa_naglowka!==null){ if((dana_klasa_naglowka.parentNode!==null)&&(dana_klasa_naglowka.parentNode.tagName.toUpperCase().match(/^[Hh]\d+$/g)) &&(dana_klasa_naglowka.parentNode.parentNode!=null)&&(dana_klasa_naglowka.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&($(dana_klasa_naglowka.parentNode.parentNode).hasClass('klasa_nagłówka'))){ let naglowek=StronicowyParser.style.UsunStyle(dana_klasa_naglowka.innerHTML).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); let ww=1; for(let x=0;x<tab_naglowka.length;++x){ if(tab_naglowka[x]==naglowek){ ++ww; } } naglowek=naglowek+((ww>1)?ww:""); tab_naglowka[g]=naglowek; tab_hn[g]=dana_klasa_naglowka.parentNode; if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, na stronie głównej podręcznika, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let nazwa_podrecznika=strona_podrecznika.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") let naglowek_sekcji_podrecznika=tab_naglowka[c].replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") edit_action(c+1,nazwa_podrecznika,tab_hn[c],nazwa_podrecznika+"#"+naglowek_sekcji_podrecznika,true); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();return;} let headline=tab_hn[c].querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } ++g; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceNaglowki(tab_promise2).then((result) => {}).catch((error) => {}); },1000); function RozwazajNaglowki(){ let toc_fun=new StronicowyParser.ListaNodeTOC(); if((toc_fun.toc!==null)&&(toc_fun.toc.length>0)){ for(let w=0;w<toc_fun.toc.length;++w){ let czy_side_bar_toc=toc_fun.CzySideBarToc(toc_fun.toc[w]); let ile_jest=0; let li=toc_fun.toc[w].getElementsByTagName('li'); if((li!==null)&&(li.length>0)){ for(let dd=0;dd<li.length;++dd){ let element_li=li[dd]; let tocnumber;let toctext_wartosc; if(czy_side_bar_toc){ tocnumber=element_li.querySelector('.sidebar-toc-numb'); if(!tocnumber){continue;} toctext_wartosc=element_li.querySelector('.sidebar-toc-text').innerHTML.replace(new RegExp(StronicowyParser.wzor.BezZnakowSpecjalnych(tocnumber.outerHTML),"g"),""); }else{ tocnumber=element_li.querySelector('.tocnumber'); toctext_wartosc=element_li.querySelector('.toctext').innerHTML; } if((tocnumber!==null)&&(toctext_wartosc!==null)){ let czy_jest=undefined; let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)&&(klasa_naglowka[ile_jest]!=null)){ let element_klasa_naglowka=klasa_naglowka[ile_jest]; let headline=element_klasa_naglowka.querySelector('.mw-headline'); if((headline!==null) &&(headline.parentNode!==null) &&(headline.parentNode.tagName.toUpperCase().match(/^H\d+$/)) &&(headline.parentNode.parentNode!==null) &&(headline.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&(headline.parentNode.parentNode===element_klasa_naglowka) ){ let element_a; if(czy_side_bar_toc){ element_a=tocnumber.parentNode.parentNode; }else{ element_a=tocnumber.parentNode; } if(element_a.tagName.toUpperCase()=="A"){ let href=StronicowyParser.kodowanie.DecodeHtml(element_a.getAttribute('href')); if(href!==null){ href=href.replace(/^#/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); let id_headline=headline.getAttribute('id'); if(id_headline!==null){ id_headline=id_headline.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); if(href!=id_headline){czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} if(czy_jest===undefined){ile_jest+=1;} if((czy_jest===undefined)||(!czy_jest)){ let element_toctext=StronicowyParser.style.UsunStyle(toctext_wartosc).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," "); if(stronasubst_tablica_rozdzialow[element_toctext]==null){ stronasubst_tablica_rozdzialow[element_toctext]=new Array(tocnumber); }else{ stronasubst_tablica_rozdzialow[element_toctext].push(tocnumber); } } } } } } } } StronicowyParser.LimitTOC(true,stronasubst_ukrywaj_toc); if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],true,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(StronicowyParser.CzyWlaczycSideBarTOC(undefined,true))){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } RozwazajNaglowki(); if(stronasubst_mathml){ $("div.toc ul > li > a > span.toctext").toggleClass("mathml"); $("div.toc_spis ul > li > a > span.toctext").toggleClass("mathml"); $("div.mw-table-of-contents-container > nav.sidebar-toc ul > li > a > div.sidebar-toc-text").toggleClass("mathml"); } function Strona(strona){ let strona_re=StronicowyParser.wzor.BezZnakowSpecjalnych(strona); let re=new RegExp("^\\s*"+strona_re+"\\s*#","g"); return re; } function CzyArtykulyZNaglowkamiDlaStrony(re){ for(let s in titles){ let czy_hash=titles[s].match(re); if(czy_hash){ return true; } } return false; } let catlinks_fun=new StronicowyParser.LinkiKategorii(); await catlinks_fun.PobierzKategorieStrony(); for ( let t in titles ) { let strona=titles[t].match(/^[^#]*/g).toString(); let szablon_artykulu; let re_strona=Strona(strona); let czy_naglowki=CzyArtykulyZNaglowkamiDlaStrony(re_strona); if(!czy_naglowki){ szablon_artykulu="{{:"+strona+"}}"; }else{ /*---------------------------------*/ let rozdzial1=null; let re=/^([^#]*)#(.*)$/g; if(re.test(titles[t])){ rozdzial1=titles[t].replace(re,"$2"); rozdzial1=rozdzial1.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial1="";} let rozdzial2=null; let tit=titles[parseInt(t)+1]; if( tit && re.test(tit) && re_strona.test(tit)){ rozdzial2=tit.replace(re,"$2"); rozdzial2=rozdzial2.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial2="";} /*---------------------------*/ szablon_artykulu="{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|TekstRozdziałuStrony|"+strona+"|"+rozdzial1+"|"+rozdzial2+"}}}}"; } szablon_artykulu="{{PrzytnijTekst|"+szablon_artykulu+"}}"; if(stronasubst_opakuj_kategorie_ze_sortowaniem){ szablon_artykulu="{{OpakujKategorieZeSortowaniem|"+szablon_artykulu+"}}" } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text|categories', title: strona, text: "<div class=\"hn hn_"+t+"\">\n"+szablon_artykulu+"\n</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); catlinks_fun.AnalizaKategorii(data).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);} WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2).then((result) => {}).catch((error) => {}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function CzyszczenieZZdarzeńTableOfContent(){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } } } CzyszczenieZZdarzeńTableOfContent(); let tab_promise2=new StronicowyParser.SugerowaneObiekty(); async function CzyStronaSubst(element,aktualna_strona,tab_promise2){ if(tab_promise2){tab_promise2.push(true);} await StronicowyParser.muteks.zablokuj(); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronaSubst}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.expandtemplates.wikitext; if((wikikod!==null)&&(aktualna_strona!==null)){ if(tab_promise2){tab_promise2.push(true);} StronaSubst(element,wikikod,aktualna_strona,tab_promise2).then((result) => {}).catch((error) => {}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } let aktualna_strona=StronicowyParser.pageinfo.fullname; if(tab_promise2){tab_promise2.push(true,true);} CzyStronaSubst(document,aktualna_strona,tab_promise2); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} function Progress(){ var c=document.createElement('div'); c.setAttribute("id","pasek_postępu") c.setAttribute('style','line-height:1.2em;margin-top:-2px;margin-left:-2px;position:absolute;width:250px;height:80px;border:1px solid black;box-sizing:border-box;padding:5px;background-color:white;display:flex;flex-direction:column;box-sizing:border-box;'); var label=document.createElement('label'); label.setAttribute('for','file1'); label.innerHTML="<span style=\"color:blue;\">Ukończone wątki: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_0=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file1') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;'); progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_1=c.appendChild(progress); var label=document.createElement('label'); label.setAttribute('for','file2'); label.innerHTML="<span style=\"color:blue;\">Zwolnione blokaty: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_1=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file2') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;') progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_2=c.appendChild(progress); function PozycjaXY(){ c.style.top=(window.scrollY+document.documentElement.clientHeight-parseFloat(c.style.height))+"px"; c.style.left=(window.scrollX+document.documentElement.clientWidth-parseFloat(c.style.width))+"px"; } document.querySelector('body').appendChild(c); PozycjaXY(); $(window).on('scroll',PozycjaXY); $(window).on('resize',PozycjaXY); return new Array(element_body_progress_1,element_body_progress_2,span_0,span_1); } var arr; function __FUNKCJA(arr){ arr[0].setAttribute("value","0"); arr[1].setAttribute("value","0"); let dodatnie_0=tab_promise2.lengthPlus; let ujemne_0=tab_promise2.lengthMinus; let dodatnie_1=StronicowyParser.muteks.LiczbaBlokatPlus; let ujemne_1=StronicowyParser.muteks.LiczbaBlokatMinus; let postep_0=((dodatnie_0>0)?((ujemne_0/dodatnie_0)*100):0); let postep_1=((dodatnie_1>0)?((ujemne_1/dodatnie_1)*100):0); arr[0].setAttribute("value",postep_0); arr[1].setAttribute("value",postep_1); arr[2].innerHTML=(parseInt(postep_0*1000)/1000)+"%"; arr[3].innerHTML=(parseInt(postep_1*1000)/1000)+"%"; } StronicowyParser.CzekajNaZakaczenie(tab_promise2,null,StronicowyParser.muteks,(tab_promise)=>{arr=Progress();__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);setTimeout(function(){let node_postep=document.getElementById('pasek_postępu');$(node_postep).remove();},2000);}).then(async (result) => {}).catch(()=>{}); }; StronicowyParser.WyswietlStronyKsiazki().then((result) => {}).catch((error) => {}); }); sg7axcyit7n50m74fbamy0k0zoy9hib 437325 437324 2022-08-09T17:28:30Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.WyswietlStronyKsiazki=async function(){ await StronicowyParser.muteks.zablokuj(); let stronasubst_latex=undefined; let stronasubst_mathml=undefined; let stronasubst_opakuj_kategorie_ze_sortowaniem=undefined; let stronasubst_ukrywaj_toc=undefined; let stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=undefined; let stronasubst_aktualizowanie_nazw_artykulow=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=undefined; let stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=undefined; let stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=undefined; let stronasubst_nie_usuwaj_styli=undefined; let stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'StronaSubst-name': 'Strona zbiorcza', 'StronaSubst-description-page': 'Wikibooks:StronicowyParser/StronaSubst', 'StronaSubst-latex': 'Zamiast wzorów, wstaw tekst latexowy, w przeciwnym przypadku jest w formie LaTeX.', 'StronaSubst-mathml': 'Zamiast wzorów latexowych, wstaw je w formie znaczników MathML.', 'StronaSubst-opakuj_kategorie_ze_sortowaniem' : 'W stronach zbiorczych opakowuje kategorie, w postaci ramki, dla każdego artykułu z osobna.', 'StronaSubst-ukrywaj_toc' : "Ukrywa, począwszy od jakiegoś poziomu wszystkich tam spisów treści, na stronach zbiorczych.", 'StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach' : "Włącza dymki, nad linkami, w ładowanych dynamicznie stronach, tworząc je inteligentnymi.", 'StronaSubst-aktualizowanie_nazw_artykulow' : 'Aktualizuje na podstawie strony głównej nazwy tylko artykułów.', 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami' : "Aktualizuje sekcje poszczegónych rozdziałów artykułów ładowanych rozdziałami, domyślnie według sekcji w tych jednostkach.", 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika' : 'Aktualizuje, sekcje artykułów ładowanych rozdziałami, na podstawie strony głównej książki, a nie jego artykułów.', 'StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej' : 'Aktualizuje nagłówki strony głównej podręcznika na stronie zbiorczej.', 'StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule' : 'Aktualizuje, brakujące sekcje rozdziałów ładowanych rozdziałami artykułów, według wpisów na stronie głównej, na stronie zbiorczej.', 'StronaSubst-nie_usuwaj_styli' : 'Nie usuwa styli z nagłówków ładowanych stron.', 'StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst' : 'Rozwijaj szablony oznaczone szablonem SzablonSubst.', }); gConfig.register('StronaSubst', {name: mw.msg('StronaSubst-name'), descriptionPage: mw.msg('StronaSubst-description-page')}, [ { name: 'latex', desc: mw.msg('StronaSubst-latex'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_latex'] }, { name: 'mathml', desc: mw.msg('StronaSubst-mathml'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_mathml'] }, { name: 'opakuj_kategorie_ze_sortowaniem', desc: mw.msg('StronaSubst-opakuj_kategorie_ze_sortowaniem'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_opakuj_kategorie_ze_sortowaniem'] }, { name: 'ukrywaj_toc', desc: mw.msg('StronaSubst-ukrywaj_toc'), type: 'integer', deflt: 0, validation: function(n){ if((n<0)||(n==1)){ throw 'Wartość dotycząca poziomu ukrywania spisów treści jest nieprawidłowa!' }; return n; }, legacy: [window, 'wb_stronasubst_ukrywaj_toc'] }, { name: 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach', desc: mw.msg('StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'] }, { name: 'aktualizowanie_nazw_artykulow', desc: mw.msg('StronaSubst-aktualizowanie_nazw_artykulow'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nazw_artykulow'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'] }, { name: 'aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej', desc: mw.msg('StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'] }, { name: 'aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule', desc: mw.msg('StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'] }, { name: 'nie_usuwaj_styli', desc: mw.msg('StronaSubst-nie_usuwaj_styli'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_nie_usuwaj_styli'] }, { name: 'rozwijaj_szablony_oznaczone_szablonem_szablonsubst', desc: mw.msg('StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst'] }, ]); stronasubst_latex = (gConfig.get('StronaSubst', 'latex')==true); stronasubst_mathml = (((gConfig.get('StronaSubst', 'mathml'))&&(!stronasubst_latex))==true); stronasubst_opakuj_kategorie_ze_sortowaniem = (gConfig.get('StronaSubst', 'opakuj_kategorie_ze_sortowaniem')==true); stronasubst_ukrywaj_toc = gConfig.get('StronaSubst', 'ukrywaj_toc'); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach = gConfig.get('StronaSubst', 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'); stronasubst_aktualizowanie_nazw_artykulow = (gConfig.get('StronaSubst', 'aktualizowanie_nazw_artykulow')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami = (gConfig.get('StronaSubst', 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika = (gConfig.get('StronaSubst','aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika')==true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej = (gConfig.get('StronaSubst','aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej')==true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule = (gConfig.get('StronaSubst','aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule')==true); stronasubst_nie_usuwaj_styli = (gConfig.get('StronaSubst','nie_usuwaj_styli')==true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst = (gConfig.get('StronaSubst','rozwijaj_szablony_oznaczone_szablonem_szablonsubst')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} let stronasubst_tablica_tych_samych=new Array(); let stronasubst_tablica_rozdzialow=new Array(); let stronasubst_tablica_alternatywnych_nazw=new Array(); stronasubst_latex=((stronasubst_latex!==undefined)?stronasubst_latex:false); stronasubst_mathml=((stronasubst_mathml!==undefined)?stronasubst_mathml:true); stronasubst_opakuj_kategorie_ze_sortowaniem=((stronasubst_opakuj_kategorie_ze_sortowaniem!==undefined)?stronasubst_opakuj_kategorie_ze_sortowaniem:false); stronasubst_ukrywaj_toc=parseInt(((stronasubst_ukrywaj_toc!==undefined)?stronasubst_ukrywaj_toc:0)); stronasubst_ukrywaj_toc=((!isNaN(stronasubst_ukrywaj_toc))?stronasubst_ukrywaj_toc:0); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=((stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach!==undefined)?stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach:true); stronasubst_aktualizowanie_nazw_artykulow=((stronasubst_aktualizowanie_nazw_artykulow!==undefined)?stronasubst_aktualizowanie_nazw_artykulow:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika:true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=((stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej!==undefined)?stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej:true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=((stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule!==undefined)?stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule:true); stronasubst_nie_usuwaj_styli=((stronasubst_nie_usuwaj_styli!==undefined)?stronasubst_nie_usuwaj_styli:true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=((stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst!==undefined)?stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst:true); async function AnalizujDalejSzablonSubst(element_strony,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let rozdzial_ksiazki="rozdział_książki"; let el=$(element_strony).find('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((el!==null)&&(el.length>0)){ for(let i=0;i<el.length;++i){ let element_el=el[i]; let ksiazka=element_el.querySelector("."+rozdzial_ksiazki); if(ksiazka){ let nazwa_strony=element_el.getAttribute('nazwa_strony'); if(tab_promise2){tab_promise2.push(true);} CzyStronaSubst(element_el,nazwa_strony,tab_promise2); } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } async function WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let title=data.parse.title; let wikikod=data.parse.text['*']; let strona_hash; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let t=tab_uzyskane[0]; if(t==undefined){ console.log("Nie wykryto znacznika lsth_\d+."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } strona_hash=titles[t]; let selflink=document.createElement('div'); selflink.innerHTML=wikikod; let czy_selflink=selflink.getElementsByClassName('selflink'); if((czy_selflink!==null)&&(czy_selflink.length==1)){ let elements=tabstrona[strona_hash]; let a=document.createElement('a');/*Tworzenie linku*/ a.setAttribute('href',StronicowyParser.kodowanie.EncodeHtml(title)); a.innerHTML=strona_hash; let span=document.createElement('span'); span.appendChild(a); span.setAttribute("class","niw link");/*Dodawanie klasy, by inny skript JS to przeanalizował jako link*/ if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo(span); } for(let q in elements){ let element=elements[q]; element.innerHTML=""; element.appendChild(span); $(element).wrap(function(){return "<strong></strong>";}); let przed=document.createTextNode("{{:"); let po=document.createTextNode("}}"); element.insertBefore(przed,element.firstChild); element.appendChild(po); element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=tab_uzyskane[1].innerHTML; let elements=tabstrona[strona_hash]; for(let q in elements){ let element=elements[q]; element.innerHTML=wikikod; StronicowyParser.ZamienLinkiNaLinkiDoStronyAktualnej(element,title,titles); } StronicowyParser.AktualizujSpisTresciModuluStrony(elements,tabs,strona_hash,stronasubst_tablica_alternatywnych_nazw,stronasubst_tablica_tych_samych,stronasubst_tablica_rozdzialow,true,stronasubst_latex,stronasubst_mathml) let strona_start=$(elements[0]).parents(".strona_start"); let rodzic=undefined; if((strona_start!==null)&&(strona_start.length>0)){ rodzic=strona_start[0]; } StronicowyParser.IndeksujHeadLine(rodzic); StronicowyParser.PrzeIndeksujWszystkieTOC(rodzic,true); for(let q in elements){ let element=elements[q]; async function ElementDalszychObliczen(element,tab_promise2){ await StronicowyParser.muteks.zablokuj(true); StronicowyParser.PoprawRozdzialyStron(element); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu(element,tab_promise2);//Funkcja jako gadżet do numerowania rozdziałów. } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element,tab_promise2); } if((StronicowyParser.szablony&&StronicowyParser.szablony.LadujSzablon)&&(stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst)){ let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(element,title,titles,undefined,tab_promise).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(()=>{ if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(element); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} ElementDalszychObliczen(element,tab_promise2); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function ToogleTableOfContainer(panel){ let id=panel.target; let tagname=id.tagName.toUpperCase(); //console.log(czy_klasa,tagname,"TYTAN)"; if(tagname=="BUTTON"){ let czy_klasa_1=$(id).hasClass('sidebar-toc-toggle'); let czy_klasa_2=$(id).hasClass('vector-toc-collapse-button'); if(czy_klasa_1){ $(id).parent().children().last().each((i,element)=>{ let expanded=$(id).attr('aria-expanded'); if(expanded=="false"){ $(element).css('display',"block"); $(element).closest('li').addClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','true'); }else if(expanded=="true"){ $(element).css('display',"none"); $(element).closest('li').removeClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','false'); } }); }else if(czy_klasa_2){ $(id).parents('#sidebar-toc-label').siblings('ul').each((i,element)=>{ let ukryj=$(element).css('display'); if(ukryj!="none"){ $(element).css('display',"none"); id.innerHTML=" pokaż "; }else{ $(element).css('display',"block"); id.innerHTML=" ukryj " } }); } } } let mutekstoogle=new StronicowyParser.Muteks(); async function ScrollTableOfContainer(){ await mutekstoogle.zablokuj(); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').first().each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky.height-15; }); let parser=document.querySelector('#mw-content-text .mw-parser-output'); if(parser){ let rect=parser.getBoundingClientRect(); if(rect.top>=height_sticky){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item').first().addClass('sidebar-toc-list-item-active'); mutekstoogle.odblokuj(); return; } }else{ mutekstoogle.odblokuj(); return; } var str=$('#mw-content-text .mw-parser-output').find('h1, h2, h3, h4, h5, h6'); if((str!==null)&&(str.length>0)){ var naglowek; for(i=0;i<str.length;++i){ let element=str[i]; let rect=element.getBoundingClientRect(); if(rect.top>=height_sticky){ let mw_naglowek=element.querySelector('.mw-headline'); if(mw_naglowek){ let id_naglowek=mw_naglowek.getAttribute('id'); let tak=false; $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+id_naglowek){ let display=window.getComputedStyle(element, null).getPropertyValue('display'); if(display!="none"){ tak=true; } } }); if(tak){ naglowek=id_naglowek; break; } } } } if(naglowek){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+naglowek){ $(element).addClass('sidebar-toc-list-item-active'); } }); } } mutekstoogle.odblokuj(); } async function StronaSubst(element_strony,wikikod,aktualna_strona,tab_promise2){ await StronicowyParser.muteks.zablokuj(); StronicowyParser.NaprawNaglowkiStrony(element_strony,true); let czy_wikikod=wikikod.match(/^[_\s]*$/g); let strona_start=$('#mw-content-text .mw-parser-output .strona_start'); function CzyWszystkieNaglowkiWewnatrzStronaStart(){ let pole=$('#mw-content-text .mw-parser-output').find('h1,h2,h3,h4,h5,h6'); for(let i=0;i<pole.length;++i){ let s=strona_start.find(pole[i]); if((s===null)||(s.length==0)){ return false; } } return true; } if(czy_wikikod){ StronicowyParser.muteks.odblokuj(); let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyArtykulu)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyArtykulu(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } let czy_numerowac=StronicowyParser.CzyWlaczycSideBarTOC(undefined,true); if(czy_numerowac){ czy_numerowac=false; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: StronicowyParser.pageinfo.fullname, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+StronicowyParser.pageinfo.fullname+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ czy_numerowac=true; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ let tab_promise=new Array(true); StronicowyParser.LimitTOC(czy_numerowac,stronasubst_ukrywaj_toc); StronicowyParser.szablony.LadujSzablon(null,null,null,czy_numerowac,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true) StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],czy_numerowac,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(czy_numerowac)){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} return; } let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(null,null,null,undefined,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async (result) => { let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } await StronicowyParser.CzekajNaZakaczenie(tab_promise).then(async (result) => {}).catch(()=>{}); await StronicowyParser.muteks.zablokuj(); if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); let rozdzial_ksiazki="rozdział_książki"; let tagclass=element_strony.getElementsByClassName(rozdzial_ksiazki); if(tagclass===null){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return null; } let liczba_elementow=tagclass.length; if(liczba_elementow==0){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return null; } let titles=new Array(); let tabstrona=new Array(); let tabs=new Array(); let tab_section=new Array(); if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element_strony,tab_promise2); } let tab_hn=new Array(); async function edit_action(numer,strona,hn,link_strona,czy_link_nie_w_naglowku){ await StronicowyParser.muteks.zablokuj(); let linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection===null){ let editsection=document.createElement('span'); editsection.classList.add('mw-editsection'); let bracket_poczatek=document.createElement('span'); bracket_poczatek.classList.add('mw-editsection-bracket') bracket_poczatek.innerHTML="["; let a=document.createElement('a'); a.setAttribute('href',"/w/index.php?title="+StronicowyParser.kodowanie.EncodeHtml(strona,false,true)+"&action=edit"+((numer>0)?("&section="+numer):"")); a.setAttribute('title',"Edytuj artykuł: "+link_strona); a.innerHTML="edytuj"; let bracket_koniec=document.createElement('span'); bracket_koniec.classList.add('mw-editsection-bracket') bracket_koniec.innerHTML="]"; editsection.appendChild(bracket_poczatek); editsection.appendChild(a) editsection.appendChild(bracket_koniec); hn.appendChild(editsection); } linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection!==null){ let mw_editsection_bracket=linkstrony_editsection.querySelector('a'); if(mw_editsection_bracket!==null){ if(czy_link_nie_w_naglowku){ let a=document.createElement('a'); a.innerHTML="artykuł"; a.setAttribute("href",StronicowyParser.kodowanie.EncodeHtml("/wiki/"+StronicowyParser.kodowanie.EncodeHtml(link_strona,false,true))); a.setAttribute("title","Zobacz artykuł: "+link_strona); let span=document.createElement('span'); span.innerHTML="| "; span.setAttribute('class',"mw-editsection-bracket") let czy_ma=$(mw_editsection_bracket).parent().hasClass('link'); if(czy_ma){ let rodzic_mw_editsection_bracket=mw_editsection_bracket.parentNode; let span2=linkstrony_editsection.insertBefore(span, rodzic_mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); }else{ let span2=linkstrony_editsection.insertBefore(span, mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); } } } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(linkstrony_editsection).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); } for (let i=0;i<liczba_elementow;++i){ let tagclassname=tagclass[i]; let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find("."+rozdzial_ksiazki); function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==tagclassname){ return true; } } return false; } if(CzyOdrzucic()){continue;} if(tagclassname.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let class_element=tagclassname.getElementsByClassName('strona_subst'); let element; if((class_element!==null)&&(class_element.length==1)){ element=class_element[0]; if(element.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let czy_link_nie_w_naglowku; let strona_headline=tagclassname.getElementsByClassName('mw-headline'); let link_strona; if((strona_headline!==null)&&(strona_headline.length==1)){ strona_a=strona_headline[0].getElementsByTagName('a'); if((strona_a!==null)&&(strona_a.length==1)){ link_strona=StronicowyParser.kodowanie.DecodeHtml(strona_a[0].getAttribute('href')); if(link_strona!==null){ let re=/\/wiki\//g; if(re.test(link_strona)){ link_strona=link_strona.substring(6,link_strona.length); czy_link_nie_w_naglowku=false; }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } } }else{ link_strona=StronicowyParser.style.UsunStyle(element.innerHTML); czy_link_nie_w_naglowku=true; } } let re = /^[_\s]*$/g; let dopasowanie = re.test(link_strona); if(dopasowanie){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return; }; link_strona=link_strona.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ").replace(/&amp;/g,"&").replace(/&nbsp;/g," "); let hash=link_strona.replace(/^([^#]*)#(.*)$/,"$2").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); /**/ let hn=strona_headline[0].parentNode; if((hn===null)||(!hn.tagName.toUpperCase().match(/^H\d+$/g))){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} tab_section[i]=new Array(hn,link_strona,czy_link_nie_w_naglowku); let strona=link_strona.match(/^[^#]*/g).toString(); async function PraceIteracyjne(tab_promise2){ await StronicowyParser.muteks.zablokuj(); if(/#/g.test(link_strona)){ let hash=link_strona.replace(/^([^#]*)#(.*)$/g,"$2"); if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let numer=hn.innerHTML; numer=parseInt(numer); if(isNaN(numer)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return ;} let tab_c=tab_section[c]; edit_action(numer,tab_c[1].match(/^[^#]*/g).toString(),tab_c[0],tab_c[1],tab_c[2]); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami){ if(!stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); }else{ let uzupelniaj_sekcje_artykulow; if(stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule){ uzupelniaj_sekcje_artykulow="tak"; }else{ uzupelniaj_sekcje_artykulow=""; } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+link_strona+"|analiza=tak|uzupełniaj sekcje artykułów="+uzupelniaj_sekcje_artykulow+"|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; let a=headline.getElementsByTagName('a'); if((a!==null)&&(a.length>0)){ a[0].setAttribute('title',stare); } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } }else{ edit_action(0,strona,hn,link_strona,czy_link_nie_w_naglowku); if(stronasubst_aktualizowanie_nazw_artykulow){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+strona+"|analiza=tak|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceIteracyjne(tab_promise2).then((result) => {}).catch((error) => {}); },1000); /**/ tabs[i]=link_strona; let czy=false; for(let d in titles){ if(titles[d]==link_strona){ czy=true; break; } } if(!czy){ titles[titles.length]=link_strona; } if(tabstrona[link_strona]==null){ tabstrona[link_strona]=new Array(); } let tab=tabstrona[link_strona]; let tablen=tab.length; tabstrona[link_strona][tablen]=element; } async function PraceNaglowki(tab_promise2){ await StronicowyParser.muteks.zablokuj(); let promise; if(element_strony==document){ let namespace=StronicowyParser.pageinfo.namespace; let strona_podrecznika=((namespace!="")?(namespace+":"):"")+StronicowyParser.pageinfo.bookname; promise=Promise.resolve(strona_podrecznika); }else{ let zaan=$(element_strony).parents('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((zaan!==null)&&(zaan.length>0)){ let strona=zaan[0].getAttribute('nazwa_strony'); if(strona){ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](strona); }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } } if(tab_promise2){tab_promise2.push(true);} promise.then(async (strona_podrecznika)=>{ await StronicowyParser.muteks.zablokuj(); let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find(".klasa_nagłówka"); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)){ let g=0; let tab_naglowka=new Array(); let tab_hn=new Array(); for(let z=0;z<klasa_naglowka.length;++z){ let pojedyncza_klasa_naglowka=klasa_naglowka[z]; function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==pojedyncza_klasa_naglowka){ return true; } } return false; } if(CzyOdrzucic()){continue;} let dana_klasa_naglowka=pojedyncza_klasa_naglowka.querySelector('.mw-headline'); if(dana_klasa_naglowka!==null){ if((dana_klasa_naglowka.parentNode!==null)&&(dana_klasa_naglowka.parentNode.tagName.toUpperCase().match(/^[Hh]\d+$/g)) &&(dana_klasa_naglowka.parentNode.parentNode!=null)&&(dana_klasa_naglowka.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&($(dana_klasa_naglowka.parentNode.parentNode).hasClass('klasa_nagłówka'))){ let naglowek=StronicowyParser.style.UsunStyle(dana_klasa_naglowka.innerHTML).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); let ww=1; for(let x=0;x<tab_naglowka.length;++x){ if(tab_naglowka[x]==naglowek){ ++ww; } } naglowek=naglowek+((ww>1)?ww:""); tab_naglowka[g]=naglowek; tab_hn[g]=dana_klasa_naglowka.parentNode; if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, na stronie głównej podręcznika, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let nazwa_podrecznika=strona_podrecznika.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") let naglowek_sekcji_podrecznika=tab_naglowka[c].replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") edit_action(c+1,nazwa_podrecznika,tab_hn[c],nazwa_podrecznika+"#"+naglowek_sekcji_podrecznika,true); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();return;} let headline=tab_hn[c].querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } ++g; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceNaglowki(tab_promise2).then((result) => {}).catch((error) => {}); },1000); function RozwazajNaglowki(){ let toc_fun=new StronicowyParser.ListaNodeTOC(); if((toc_fun.toc!==null)&&(toc_fun.toc.length>0)){ for(let w=0;w<toc_fun.toc.length;++w){ let czy_side_bar_toc=toc_fun.CzySideBarToc(toc_fun.toc[w]); let ile_jest=0; let li=toc_fun.toc[w].getElementsByTagName('li'); if((li!==null)&&(li.length>0)){ for(let dd=0;dd<li.length;++dd){ let element_li=li[dd]; let tocnumber;let toctext_wartosc; if(czy_side_bar_toc){ tocnumber=element_li.querySelector('.sidebar-toc-numb'); if(!tocnumber){continue;} toctext_wartosc=element_li.querySelector('.sidebar-toc-text').innerHTML.replace(new RegExp(StronicowyParser.wzor.BezZnakowSpecjalnych(tocnumber.outerHTML),"g"),""); }else{ tocnumber=element_li.querySelector('.tocnumber'); toctext_wartosc=element_li.querySelector('.toctext').innerHTML; } if((tocnumber!==null)&&(toctext_wartosc!==null)){ let czy_jest=undefined; let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)&&(klasa_naglowka[ile_jest]!=null)){ let element_klasa_naglowka=klasa_naglowka[ile_jest]; let headline=element_klasa_naglowka.querySelector('.mw-headline'); if((headline!==null) &&(headline.parentNode!==null) &&(headline.parentNode.tagName.toUpperCase().match(/^H\d+$/)) &&(headline.parentNode.parentNode!==null) &&(headline.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&(headline.parentNode.parentNode===element_klasa_naglowka) ){ let element_a; if(czy_side_bar_toc){ element_a=tocnumber.parentNode.parentNode; }else{ element_a=tocnumber.parentNode; } if(element_a.tagName.toUpperCase()=="A"){ let href=StronicowyParser.kodowanie.DecodeHtml(element_a.getAttribute('href')); if(href!==null){ href=href.replace(/^#/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); let id_headline=headline.getAttribute('id'); if(id_headline!==null){ id_headline=id_headline.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); if(href!=id_headline){czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} if(czy_jest===undefined){ile_jest+=1;} if((czy_jest===undefined)||(!czy_jest)){ let element_toctext=StronicowyParser.style.UsunStyle(toctext_wartosc).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," "); if(stronasubst_tablica_rozdzialow[element_toctext]==null){ stronasubst_tablica_rozdzialow[element_toctext]=new Array(tocnumber); }else{ stronasubst_tablica_rozdzialow[element_toctext].push(tocnumber); } } } } } } } } StronicowyParser.LimitTOC(true,stronasubst_ukrywaj_toc); if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],true,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(StronicowyParser.CzyWlaczycSideBarTOC(undefined,true))){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } RozwazajNaglowki(); if(stronasubst_mathml){ $("div.toc ul > li > a > span.toctext").toggleClass("mathml"); $("div.toc_spis ul > li > a > span.toctext").toggleClass("mathml"); $("div.mw-table-of-contents-container > nav.sidebar-toc ul > li > a > div.sidebar-toc-text").toggleClass("mathml"); } function Strona(strona){ let strona_re=StronicowyParser.wzor.BezZnakowSpecjalnych(strona); let re=new RegExp("^\\s*"+strona_re+"\\s*#","g"); return re; } function CzyArtykulyZNaglowkamiDlaStrony(re){ for(let s in titles){ let czy_hash=titles[s].match(re); if(czy_hash){ return true; } } return false; } let catlinks_fun=new StronicowyParser.LinkiKategorii(); await catlinks_fun.PobierzKategorieStrony(); for ( let t in titles ) { let strona=titles[t].match(/^[^#]*/g).toString(); let szablon_artykulu; let re_strona=Strona(strona); let czy_naglowki=CzyArtykulyZNaglowkamiDlaStrony(re_strona); if(!czy_naglowki){ szablon_artykulu="{{:"+strona+"}}"; }else{ /*---------------------------------*/ let rozdzial1=null; let re=/^([^#]*)#(.*)$/g; if(re.test(titles[t])){ rozdzial1=titles[t].replace(re,"$2"); rozdzial1=rozdzial1.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial1="";} let rozdzial2=null; let tit=titles[parseInt(t)+1]; if( tit && re.test(tit) && re_strona.test(tit)){ rozdzial2=tit.replace(re,"$2"); rozdzial2=rozdzial2.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial2="";} /*---------------------------*/ szablon_artykulu="{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|TekstRozdziałuStrony|"+strona+"|"+rozdzial1+"|"+rozdzial2+"}}}}"; } szablon_artykulu="{{PrzytnijTekst|"+szablon_artykulu+"}}"; if(stronasubst_opakuj_kategorie_ze_sortowaniem){ szablon_artykulu="{{OpakujKategorieZeSortowaniem|"+szablon_artykulu+"}}" } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text|categories', title: strona, text: "<div class=\"hn hn_"+t+"\">\n"+szablon_artykulu+"\n</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); catlinks_fun.AnalizaKategorii(data).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);} WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2).then((result) => {}).catch((error) => {}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function CzyszczenieZZdarzeńTableOfContent(){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } } } CzyszczenieZZdarzeńTableOfContent(); let tab_promise2=new StronicowyParser.SugerowaneObiekty(); async function CzyStronaSubst(element,aktualna_strona,tab_promise2){ if(tab_promise2){tab_promise2.push(true);} await StronicowyParser.muteks.zablokuj(); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronaSubst}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.expandtemplates.wikitext; if((wikikod!==null)&&(aktualna_strona!==null)){ if(tab_promise2){tab_promise2.push(true);} StronaSubst(element,wikikod,aktualna_strona,tab_promise2).then((result) => {}).catch((error) => {}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } let aktualna_strona=StronicowyParser.pageinfo.fullname; if(tab_promise2){tab_promise2.push(true,true);} CzyStronaSubst(document,aktualna_strona,tab_promise2); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} function Progress(){ var c=document.createElement('div'); c.setAttribute("id","pasek_postępu") c.setAttribute('style','line-height:1.2em;margin-top:-2px;margin-left:-2px;position:absolute;width:250px;height:80px;border:1px solid black;box-sizing:border-box;padding:8px 5px;background-color:white;display:flex;flex-direction:column;box-sizing:border-box;'); var label=document.createElement('label'); label.setAttribute('for','file1'); label.innerHTML="<span style=\"color:blue;\">Ukończone wątki: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_0=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file1') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;'); progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_1=c.appendChild(progress); var label=document.createElement('label'); label.setAttribute('for','file2'); label.innerHTML="<span style=\"color:blue;\">Zwolnione blokaty: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_1=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file2') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;') progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_2=c.appendChild(progress); function PozycjaXY(){ c.style.top=(window.scrollY+document.documentElement.clientHeight-parseFloat(c.style.height))+"px"; c.style.left=(window.scrollX+document.documentElement.clientWidth-parseFloat(c.style.width))+"px"; } document.querySelector('body').appendChild(c); PozycjaXY(); $(window).on('scroll',PozycjaXY); $(window).on('resize',PozycjaXY); return new Array(element_body_progress_1,element_body_progress_2,span_0,span_1); } var arr; function __FUNKCJA(arr){ arr[0].setAttribute("value","0"); arr[1].setAttribute("value","0"); let dodatnie_0=tab_promise2.lengthPlus; let ujemne_0=tab_promise2.lengthMinus; let dodatnie_1=StronicowyParser.muteks.LiczbaBlokatPlus; let ujemne_1=StronicowyParser.muteks.LiczbaBlokatMinus; let postep_0=((dodatnie_0>0)?((ujemne_0/dodatnie_0)*100):0); let postep_1=((dodatnie_1>0)?((ujemne_1/dodatnie_1)*100):0); arr[0].setAttribute("value",postep_0); arr[1].setAttribute("value",postep_1); arr[2].innerHTML=(parseInt(postep_0*1000)/1000)+"%"; arr[3].innerHTML=(parseInt(postep_1*1000)/1000)+"%"; } StronicowyParser.CzekajNaZakaczenie(tab_promise2,null,StronicowyParser.muteks,(tab_promise)=>{arr=Progress();__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);setTimeout(function(){let node_postep=document.getElementById('pasek_postępu');$(node_postep).remove();},2000);}).then(async (result) => {}).catch(()=>{}); }; StronicowyParser.WyswietlStronyKsiazki().then((result) => {}).catch((error) => {}); }); 8b32bkft3vapd1ali8lj37682upcekn 437326 437325 2022-08-09T17:29:48Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.WyswietlStronyKsiazki=async function(){ await StronicowyParser.muteks.zablokuj(); let stronasubst_latex=undefined; let stronasubst_mathml=undefined; let stronasubst_opakuj_kategorie_ze_sortowaniem=undefined; let stronasubst_ukrywaj_toc=undefined; let stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=undefined; let stronasubst_aktualizowanie_nazw_artykulow=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=undefined; let stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=undefined; let stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=undefined; let stronasubst_nie_usuwaj_styli=undefined; let stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'StronaSubst-name': 'Strona zbiorcza', 'StronaSubst-description-page': 'Wikibooks:StronicowyParser/StronaSubst', 'StronaSubst-latex': 'Zamiast wzorów, wstaw tekst latexowy, w przeciwnym przypadku jest w formie LaTeX.', 'StronaSubst-mathml': 'Zamiast wzorów latexowych, wstaw je w formie znaczników MathML.', 'StronaSubst-opakuj_kategorie_ze_sortowaniem' : 'W stronach zbiorczych opakowuje kategorie, w postaci ramki, dla każdego artykułu z osobna.', 'StronaSubst-ukrywaj_toc' : "Ukrywa, począwszy od jakiegoś poziomu wszystkich tam spisów treści, na stronach zbiorczych.", 'StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach' : "Włącza dymki, nad linkami, w ładowanych dynamicznie stronach, tworząc je inteligentnymi.", 'StronaSubst-aktualizowanie_nazw_artykulow' : 'Aktualizuje na podstawie strony głównej nazwy tylko artykułów.', 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami' : "Aktualizuje sekcje poszczegónych rozdziałów artykułów ładowanych rozdziałami, domyślnie według sekcji w tych jednostkach.", 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika' : 'Aktualizuje, sekcje artykułów ładowanych rozdziałami, na podstawie strony głównej książki, a nie jego artykułów.', 'StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej' : 'Aktualizuje nagłówki strony głównej podręcznika na stronie zbiorczej.', 'StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule' : 'Aktualizuje, brakujące sekcje rozdziałów ładowanych rozdziałami artykułów, według wpisów na stronie głównej, na stronie zbiorczej.', 'StronaSubst-nie_usuwaj_styli' : 'Nie usuwa styli z nagłówków ładowanych stron.', 'StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst' : 'Rozwijaj szablony oznaczone szablonem SzablonSubst.', }); gConfig.register('StronaSubst', {name: mw.msg('StronaSubst-name'), descriptionPage: mw.msg('StronaSubst-description-page')}, [ { name: 'latex', desc: mw.msg('StronaSubst-latex'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_latex'] }, { name: 'mathml', desc: mw.msg('StronaSubst-mathml'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_mathml'] }, { name: 'opakuj_kategorie_ze_sortowaniem', desc: mw.msg('StronaSubst-opakuj_kategorie_ze_sortowaniem'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_opakuj_kategorie_ze_sortowaniem'] }, { name: 'ukrywaj_toc', desc: mw.msg('StronaSubst-ukrywaj_toc'), type: 'integer', deflt: 0, validation: function(n){ if((n<0)||(n==1)){ throw 'Wartość dotycząca poziomu ukrywania spisów treści jest nieprawidłowa!' }; return n; }, legacy: [window, 'wb_stronasubst_ukrywaj_toc'] }, { name: 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach', desc: mw.msg('StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'] }, { name: 'aktualizowanie_nazw_artykulow', desc: mw.msg('StronaSubst-aktualizowanie_nazw_artykulow'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nazw_artykulow'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'] }, { name: 'aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej', desc: mw.msg('StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'] }, { name: 'aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule', desc: mw.msg('StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'] }, { name: 'nie_usuwaj_styli', desc: mw.msg('StronaSubst-nie_usuwaj_styli'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_nie_usuwaj_styli'] }, { name: 'rozwijaj_szablony_oznaczone_szablonem_szablonsubst', desc: mw.msg('StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst'] }, ]); stronasubst_latex = (gConfig.get('StronaSubst', 'latex')==true); stronasubst_mathml = (((gConfig.get('StronaSubst', 'mathml'))&&(!stronasubst_latex))==true); stronasubst_opakuj_kategorie_ze_sortowaniem = (gConfig.get('StronaSubst', 'opakuj_kategorie_ze_sortowaniem')==true); stronasubst_ukrywaj_toc = gConfig.get('StronaSubst', 'ukrywaj_toc'); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach = gConfig.get('StronaSubst', 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'); stronasubst_aktualizowanie_nazw_artykulow = (gConfig.get('StronaSubst', 'aktualizowanie_nazw_artykulow')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami = (gConfig.get('StronaSubst', 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika = (gConfig.get('StronaSubst','aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika')==true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej = (gConfig.get('StronaSubst','aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej')==true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule = (gConfig.get('StronaSubst','aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule')==true); stronasubst_nie_usuwaj_styli = (gConfig.get('StronaSubst','nie_usuwaj_styli')==true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst = (gConfig.get('StronaSubst','rozwijaj_szablony_oznaczone_szablonem_szablonsubst')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} let stronasubst_tablica_tych_samych=new Array(); let stronasubst_tablica_rozdzialow=new Array(); let stronasubst_tablica_alternatywnych_nazw=new Array(); stronasubst_latex=((stronasubst_latex!==undefined)?stronasubst_latex:false); stronasubst_mathml=((stronasubst_mathml!==undefined)?stronasubst_mathml:true); stronasubst_opakuj_kategorie_ze_sortowaniem=((stronasubst_opakuj_kategorie_ze_sortowaniem!==undefined)?stronasubst_opakuj_kategorie_ze_sortowaniem:false); stronasubst_ukrywaj_toc=parseInt(((stronasubst_ukrywaj_toc!==undefined)?stronasubst_ukrywaj_toc:0)); stronasubst_ukrywaj_toc=((!isNaN(stronasubst_ukrywaj_toc))?stronasubst_ukrywaj_toc:0); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=((stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach!==undefined)?stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach:true); stronasubst_aktualizowanie_nazw_artykulow=((stronasubst_aktualizowanie_nazw_artykulow!==undefined)?stronasubst_aktualizowanie_nazw_artykulow:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika:true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=((stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej!==undefined)?stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej:true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=((stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule!==undefined)?stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule:true); stronasubst_nie_usuwaj_styli=((stronasubst_nie_usuwaj_styli!==undefined)?stronasubst_nie_usuwaj_styli:true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=((stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst!==undefined)?stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst:true); async function AnalizujDalejSzablonSubst(element_strony,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let rozdzial_ksiazki="rozdział_książki"; let el=$(element_strony).find('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((el!==null)&&(el.length>0)){ for(let i=0;i<el.length;++i){ let element_el=el[i]; let ksiazka=element_el.querySelector("."+rozdzial_ksiazki); if(ksiazka){ let nazwa_strony=element_el.getAttribute('nazwa_strony'); if(tab_promise2){tab_promise2.push(true);} CzyStronaSubst(element_el,nazwa_strony,tab_promise2); } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } async function WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let title=data.parse.title; let wikikod=data.parse.text['*']; let strona_hash; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let t=tab_uzyskane[0]; if(t==undefined){ console.log("Nie wykryto znacznika lsth_\d+."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } strona_hash=titles[t]; let selflink=document.createElement('div'); selflink.innerHTML=wikikod; let czy_selflink=selflink.getElementsByClassName('selflink'); if((czy_selflink!==null)&&(czy_selflink.length==1)){ let elements=tabstrona[strona_hash]; let a=document.createElement('a');/*Tworzenie linku*/ a.setAttribute('href',StronicowyParser.kodowanie.EncodeHtml(title)); a.innerHTML=strona_hash; let span=document.createElement('span'); span.appendChild(a); span.setAttribute("class","niw link");/*Dodawanie klasy, by inny skript JS to przeanalizował jako link*/ if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo(span); } for(let q in elements){ let element=elements[q]; element.innerHTML=""; element.appendChild(span); $(element).wrap(function(){return "<strong></strong>";}); let przed=document.createTextNode("{{:"); let po=document.createTextNode("}}"); element.insertBefore(przed,element.firstChild); element.appendChild(po); element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=tab_uzyskane[1].innerHTML; let elements=tabstrona[strona_hash]; for(let q in elements){ let element=elements[q]; element.innerHTML=wikikod; StronicowyParser.ZamienLinkiNaLinkiDoStronyAktualnej(element,title,titles); } StronicowyParser.AktualizujSpisTresciModuluStrony(elements,tabs,strona_hash,stronasubst_tablica_alternatywnych_nazw,stronasubst_tablica_tych_samych,stronasubst_tablica_rozdzialow,true,stronasubst_latex,stronasubst_mathml) let strona_start=$(elements[0]).parents(".strona_start"); let rodzic=undefined; if((strona_start!==null)&&(strona_start.length>0)){ rodzic=strona_start[0]; } StronicowyParser.IndeksujHeadLine(rodzic); StronicowyParser.PrzeIndeksujWszystkieTOC(rodzic,true); for(let q in elements){ let element=elements[q]; async function ElementDalszychObliczen(element,tab_promise2){ await StronicowyParser.muteks.zablokuj(true); StronicowyParser.PoprawRozdzialyStron(element); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu(element,tab_promise2);//Funkcja jako gadżet do numerowania rozdziałów. } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element,tab_promise2); } if((StronicowyParser.szablony&&StronicowyParser.szablony.LadujSzablon)&&(stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst)){ let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(element,title,titles,undefined,tab_promise).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(()=>{ if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(element); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} ElementDalszychObliczen(element,tab_promise2); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function ToogleTableOfContainer(panel){ let id=panel.target; let tagname=id.tagName.toUpperCase(); //console.log(czy_klasa,tagname,"TYTAN)"; if(tagname=="BUTTON"){ let czy_klasa_1=$(id).hasClass('sidebar-toc-toggle'); let czy_klasa_2=$(id).hasClass('vector-toc-collapse-button'); if(czy_klasa_1){ $(id).parent().children().last().each((i,element)=>{ let expanded=$(id).attr('aria-expanded'); if(expanded=="false"){ $(element).css('display',"block"); $(element).closest('li').addClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','true'); }else if(expanded=="true"){ $(element).css('display',"none"); $(element).closest('li').removeClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','false'); } }); }else if(czy_klasa_2){ $(id).parents('#sidebar-toc-label').siblings('ul').each((i,element)=>{ let ukryj=$(element).css('display'); if(ukryj!="none"){ $(element).css('display',"none"); id.innerHTML=" pokaż "; }else{ $(element).css('display',"block"); id.innerHTML=" ukryj " } }); } } } let mutekstoogle=new StronicowyParser.Muteks(); async function ScrollTableOfContainer(){ await mutekstoogle.zablokuj(); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').first().each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky.height-15; }); let parser=document.querySelector('#mw-content-text .mw-parser-output'); if(parser){ let rect=parser.getBoundingClientRect(); if(rect.top>=height_sticky){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item').first().addClass('sidebar-toc-list-item-active'); mutekstoogle.odblokuj(); return; } }else{ mutekstoogle.odblokuj(); return; } var str=$('#mw-content-text .mw-parser-output').find('h1, h2, h3, h4, h5, h6'); if((str!==null)&&(str.length>0)){ var naglowek; for(i=0;i<str.length;++i){ let element=str[i]; let rect=element.getBoundingClientRect(); if(rect.top>=height_sticky){ let mw_naglowek=element.querySelector('.mw-headline'); if(mw_naglowek){ let id_naglowek=mw_naglowek.getAttribute('id'); let tak=false; $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+id_naglowek){ let display=window.getComputedStyle(element, null).getPropertyValue('display'); if(display!="none"){ tak=true; } } }); if(tak){ naglowek=id_naglowek; break; } } } } if(naglowek){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+naglowek){ $(element).addClass('sidebar-toc-list-item-active'); } }); } } mutekstoogle.odblokuj(); } async function StronaSubst(element_strony,wikikod,aktualna_strona,tab_promise2){ await StronicowyParser.muteks.zablokuj(); StronicowyParser.NaprawNaglowkiStrony(element_strony,true); let czy_wikikod=wikikod.match(/^[_\s]*$/g); let strona_start=$('#mw-content-text .mw-parser-output .strona_start'); function CzyWszystkieNaglowkiWewnatrzStronaStart(){ let pole=$('#mw-content-text .mw-parser-output').find('h1,h2,h3,h4,h5,h6'); for(let i=0;i<pole.length;++i){ let s=strona_start.find(pole[i]); if((s===null)||(s.length==0)){ return false; } } return true; } if(czy_wikikod){ StronicowyParser.muteks.odblokuj(); let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyArtykulu)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyArtykulu(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } let czy_numerowac=StronicowyParser.CzyWlaczycSideBarTOC(undefined,true); if(czy_numerowac){ czy_numerowac=false; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: StronicowyParser.pageinfo.fullname, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+StronicowyParser.pageinfo.fullname+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ czy_numerowac=true; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ let tab_promise=new Array(true); StronicowyParser.LimitTOC(czy_numerowac,stronasubst_ukrywaj_toc); StronicowyParser.szablony.LadujSzablon(null,null,null,czy_numerowac,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true) StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],czy_numerowac,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(czy_numerowac)){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} return; } let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(null,null,null,undefined,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async (result) => { let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } await StronicowyParser.CzekajNaZakaczenie(tab_promise).then(async (result) => {}).catch(()=>{}); await StronicowyParser.muteks.zablokuj(); if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); let rozdzial_ksiazki="rozdział_książki"; let tagclass=element_strony.getElementsByClassName(rozdzial_ksiazki); if(tagclass===null){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return null; } let liczba_elementow=tagclass.length; if(liczba_elementow==0){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return null; } let titles=new Array(); let tabstrona=new Array(); let tabs=new Array(); let tab_section=new Array(); if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element_strony,tab_promise2); } let tab_hn=new Array(); async function edit_action(numer,strona,hn,link_strona,czy_link_nie_w_naglowku){ await StronicowyParser.muteks.zablokuj(); let linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection===null){ let editsection=document.createElement('span'); editsection.classList.add('mw-editsection'); let bracket_poczatek=document.createElement('span'); bracket_poczatek.classList.add('mw-editsection-bracket') bracket_poczatek.innerHTML="["; let a=document.createElement('a'); a.setAttribute('href',"/w/index.php?title="+StronicowyParser.kodowanie.EncodeHtml(strona,false,true)+"&action=edit"+((numer>0)?("&section="+numer):"")); a.setAttribute('title',"Edytuj artykuł: "+link_strona); a.innerHTML="edytuj"; let bracket_koniec=document.createElement('span'); bracket_koniec.classList.add('mw-editsection-bracket') bracket_koniec.innerHTML="]"; editsection.appendChild(bracket_poczatek); editsection.appendChild(a) editsection.appendChild(bracket_koniec); hn.appendChild(editsection); } linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection!==null){ let mw_editsection_bracket=linkstrony_editsection.querySelector('a'); if(mw_editsection_bracket!==null){ if(czy_link_nie_w_naglowku){ let a=document.createElement('a'); a.innerHTML="artykuł"; a.setAttribute("href",StronicowyParser.kodowanie.EncodeHtml("/wiki/"+StronicowyParser.kodowanie.EncodeHtml(link_strona,false,true))); a.setAttribute("title","Zobacz artykuł: "+link_strona); let span=document.createElement('span'); span.innerHTML="| "; span.setAttribute('class',"mw-editsection-bracket") let czy_ma=$(mw_editsection_bracket).parent().hasClass('link'); if(czy_ma){ let rodzic_mw_editsection_bracket=mw_editsection_bracket.parentNode; let span2=linkstrony_editsection.insertBefore(span, rodzic_mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); }else{ let span2=linkstrony_editsection.insertBefore(span, mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); } } } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(linkstrony_editsection).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); } for (let i=0;i<liczba_elementow;++i){ let tagclassname=tagclass[i]; let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find("."+rozdzial_ksiazki); function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==tagclassname){ return true; } } return false; } if(CzyOdrzucic()){continue;} if(tagclassname.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let class_element=tagclassname.getElementsByClassName('strona_subst'); let element; if((class_element!==null)&&(class_element.length==1)){ element=class_element[0]; if(element.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let czy_link_nie_w_naglowku; let strona_headline=tagclassname.getElementsByClassName('mw-headline'); let link_strona; if((strona_headline!==null)&&(strona_headline.length==1)){ strona_a=strona_headline[0].getElementsByTagName('a'); if((strona_a!==null)&&(strona_a.length==1)){ link_strona=StronicowyParser.kodowanie.DecodeHtml(strona_a[0].getAttribute('href')); if(link_strona!==null){ let re=/\/wiki\//g; if(re.test(link_strona)){ link_strona=link_strona.substring(6,link_strona.length); czy_link_nie_w_naglowku=false; }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } } }else{ link_strona=StronicowyParser.style.UsunStyle(element.innerHTML); czy_link_nie_w_naglowku=true; } } let re = /^[_\s]*$/g; let dopasowanie = re.test(link_strona); if(dopasowanie){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return; }; link_strona=link_strona.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ").replace(/&amp;/g,"&").replace(/&nbsp;/g," "); let hash=link_strona.replace(/^([^#]*)#(.*)$/,"$2").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); /**/ let hn=strona_headline[0].parentNode; if((hn===null)||(!hn.tagName.toUpperCase().match(/^H\d+$/g))){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} tab_section[i]=new Array(hn,link_strona,czy_link_nie_w_naglowku); let strona=link_strona.match(/^[^#]*/g).toString(); async function PraceIteracyjne(tab_promise2){ await StronicowyParser.muteks.zablokuj(); if(/#/g.test(link_strona)){ let hash=link_strona.replace(/^([^#]*)#(.*)$/g,"$2"); if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let numer=hn.innerHTML; numer=parseInt(numer); if(isNaN(numer)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return ;} let tab_c=tab_section[c]; edit_action(numer,tab_c[1].match(/^[^#]*/g).toString(),tab_c[0],tab_c[1],tab_c[2]); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami){ if(!stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); }else{ let uzupelniaj_sekcje_artykulow; if(stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule){ uzupelniaj_sekcje_artykulow="tak"; }else{ uzupelniaj_sekcje_artykulow=""; } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+link_strona+"|analiza=tak|uzupełniaj sekcje artykułów="+uzupelniaj_sekcje_artykulow+"|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; let a=headline.getElementsByTagName('a'); if((a!==null)&&(a.length>0)){ a[0].setAttribute('title',stare); } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } }else{ edit_action(0,strona,hn,link_strona,czy_link_nie_w_naglowku); if(stronasubst_aktualizowanie_nazw_artykulow){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+strona+"|analiza=tak|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceIteracyjne(tab_promise2).then((result) => {}).catch((error) => {}); },1000); /**/ tabs[i]=link_strona; let czy=false; for(let d in titles){ if(titles[d]==link_strona){ czy=true; break; } } if(!czy){ titles[titles.length]=link_strona; } if(tabstrona[link_strona]==null){ tabstrona[link_strona]=new Array(); } let tab=tabstrona[link_strona]; let tablen=tab.length; tabstrona[link_strona][tablen]=element; } async function PraceNaglowki(tab_promise2){ await StronicowyParser.muteks.zablokuj(); let promise; if(element_strony==document){ let namespace=StronicowyParser.pageinfo.namespace; let strona_podrecznika=((namespace!="")?(namespace+":"):"")+StronicowyParser.pageinfo.bookname; promise=Promise.resolve(strona_podrecznika); }else{ let zaan=$(element_strony).parents('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((zaan!==null)&&(zaan.length>0)){ let strona=zaan[0].getAttribute('nazwa_strony'); if(strona){ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](strona); }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } } if(tab_promise2){tab_promise2.push(true);} promise.then(async (strona_podrecznika)=>{ await StronicowyParser.muteks.zablokuj(); let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find(".klasa_nagłówka"); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)){ let g=0; let tab_naglowka=new Array(); let tab_hn=new Array(); for(let z=0;z<klasa_naglowka.length;++z){ let pojedyncza_klasa_naglowka=klasa_naglowka[z]; function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==pojedyncza_klasa_naglowka){ return true; } } return false; } if(CzyOdrzucic()){continue;} let dana_klasa_naglowka=pojedyncza_klasa_naglowka.querySelector('.mw-headline'); if(dana_klasa_naglowka!==null){ if((dana_klasa_naglowka.parentNode!==null)&&(dana_klasa_naglowka.parentNode.tagName.toUpperCase().match(/^[Hh]\d+$/g)) &&(dana_klasa_naglowka.parentNode.parentNode!=null)&&(dana_klasa_naglowka.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&($(dana_klasa_naglowka.parentNode.parentNode).hasClass('klasa_nagłówka'))){ let naglowek=StronicowyParser.style.UsunStyle(dana_klasa_naglowka.innerHTML).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); let ww=1; for(let x=0;x<tab_naglowka.length;++x){ if(tab_naglowka[x]==naglowek){ ++ww; } } naglowek=naglowek+((ww>1)?ww:""); tab_naglowka[g]=naglowek; tab_hn[g]=dana_klasa_naglowka.parentNode; if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, na stronie głównej podręcznika, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let nazwa_podrecznika=strona_podrecznika.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") let naglowek_sekcji_podrecznika=tab_naglowka[c].replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") edit_action(c+1,nazwa_podrecznika,tab_hn[c],nazwa_podrecznika+"#"+naglowek_sekcji_podrecznika,true); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();return;} let headline=tab_hn[c].querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } ++g; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceNaglowki(tab_promise2).then((result) => {}).catch((error) => {}); },1000); function RozwazajNaglowki(){ let toc_fun=new StronicowyParser.ListaNodeTOC(); if((toc_fun.toc!==null)&&(toc_fun.toc.length>0)){ for(let w=0;w<toc_fun.toc.length;++w){ let czy_side_bar_toc=toc_fun.CzySideBarToc(toc_fun.toc[w]); let ile_jest=0; let li=toc_fun.toc[w].getElementsByTagName('li'); if((li!==null)&&(li.length>0)){ for(let dd=0;dd<li.length;++dd){ let element_li=li[dd]; let tocnumber;let toctext_wartosc; if(czy_side_bar_toc){ tocnumber=element_li.querySelector('.sidebar-toc-numb'); if(!tocnumber){continue;} toctext_wartosc=element_li.querySelector('.sidebar-toc-text').innerHTML.replace(new RegExp(StronicowyParser.wzor.BezZnakowSpecjalnych(tocnumber.outerHTML),"g"),""); }else{ tocnumber=element_li.querySelector('.tocnumber'); toctext_wartosc=element_li.querySelector('.toctext').innerHTML; } if((tocnumber!==null)&&(toctext_wartosc!==null)){ let czy_jest=undefined; let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)&&(klasa_naglowka[ile_jest]!=null)){ let element_klasa_naglowka=klasa_naglowka[ile_jest]; let headline=element_klasa_naglowka.querySelector('.mw-headline'); if((headline!==null) &&(headline.parentNode!==null) &&(headline.parentNode.tagName.toUpperCase().match(/^H\d+$/)) &&(headline.parentNode.parentNode!==null) &&(headline.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&(headline.parentNode.parentNode===element_klasa_naglowka) ){ let element_a; if(czy_side_bar_toc){ element_a=tocnumber.parentNode.parentNode; }else{ element_a=tocnumber.parentNode; } if(element_a.tagName.toUpperCase()=="A"){ let href=StronicowyParser.kodowanie.DecodeHtml(element_a.getAttribute('href')); if(href!==null){ href=href.replace(/^#/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); let id_headline=headline.getAttribute('id'); if(id_headline!==null){ id_headline=id_headline.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); if(href!=id_headline){czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} if(czy_jest===undefined){ile_jest+=1;} if((czy_jest===undefined)||(!czy_jest)){ let element_toctext=StronicowyParser.style.UsunStyle(toctext_wartosc).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," "); if(stronasubst_tablica_rozdzialow[element_toctext]==null){ stronasubst_tablica_rozdzialow[element_toctext]=new Array(tocnumber); }else{ stronasubst_tablica_rozdzialow[element_toctext].push(tocnumber); } } } } } } } } StronicowyParser.LimitTOC(true,stronasubst_ukrywaj_toc); if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],true,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(StronicowyParser.CzyWlaczycSideBarTOC(undefined,true))){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } RozwazajNaglowki(); if(stronasubst_mathml){ $("div.toc ul > li > a > span.toctext").toggleClass("mathml"); $("div.toc_spis ul > li > a > span.toctext").toggleClass("mathml"); $("div.mw-table-of-contents-container > nav.sidebar-toc ul > li > a > div.sidebar-toc-text").toggleClass("mathml"); } function Strona(strona){ let strona_re=StronicowyParser.wzor.BezZnakowSpecjalnych(strona); let re=new RegExp("^\\s*"+strona_re+"\\s*#","g"); return re; } function CzyArtykulyZNaglowkamiDlaStrony(re){ for(let s in titles){ let czy_hash=titles[s].match(re); if(czy_hash){ return true; } } return false; } let catlinks_fun=new StronicowyParser.LinkiKategorii(); await catlinks_fun.PobierzKategorieStrony(); for ( let t in titles ) { let strona=titles[t].match(/^[^#]*/g).toString(); let szablon_artykulu; let re_strona=Strona(strona); let czy_naglowki=CzyArtykulyZNaglowkamiDlaStrony(re_strona); if(!czy_naglowki){ szablon_artykulu="{{:"+strona+"}}"; }else{ /*---------------------------------*/ let rozdzial1=null; let re=/^([^#]*)#(.*)$/g; if(re.test(titles[t])){ rozdzial1=titles[t].replace(re,"$2"); rozdzial1=rozdzial1.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial1="";} let rozdzial2=null; let tit=titles[parseInt(t)+1]; if( tit && re.test(tit) && re_strona.test(tit)){ rozdzial2=tit.replace(re,"$2"); rozdzial2=rozdzial2.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial2="";} /*---------------------------*/ szablon_artykulu="{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|TekstRozdziałuStrony|"+strona+"|"+rozdzial1+"|"+rozdzial2+"}}}}"; } szablon_artykulu="{{PrzytnijTekst|"+szablon_artykulu+"}}"; if(stronasubst_opakuj_kategorie_ze_sortowaniem){ szablon_artykulu="{{OpakujKategorieZeSortowaniem|"+szablon_artykulu+"}}" } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text|categories', title: strona, text: "<div class=\"hn hn_"+t+"\">\n"+szablon_artykulu+"\n</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); catlinks_fun.AnalizaKategorii(data).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);} WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2).then((result) => {}).catch((error) => {}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function CzyszczenieZZdarzeńTableOfContent(){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } } } CzyszczenieZZdarzeńTableOfContent(); let tab_promise2=new StronicowyParser.SugerowaneObiekty(); async function CzyStronaSubst(element,aktualna_strona,tab_promise2){ if(tab_promise2){tab_promise2.push(true);} await StronicowyParser.muteks.zablokuj(); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronaSubst}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.expandtemplates.wikitext; if((wikikod!==null)&&(aktualna_strona!==null)){ if(tab_promise2){tab_promise2.push(true);} StronaSubst(element,wikikod,aktualna_strona,tab_promise2).then((result) => {}).catch((error) => {}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } let aktualna_strona=StronicowyParser.pageinfo.fullname; if(tab_promise2){tab_promise2.push(true,true);} CzyStronaSubst(document,aktualna_strona,tab_promise2); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} function Progress(){ var c=document.createElement('div'); c.setAttribute("id","pasek_postępu") c.setAttribute('style','line-height:1.2em;margin-top:-2px;margin-left:-2px;position:absolute;width:250px;height:70px;border:1px solid black;box-sizing:border-box;padding:5px;background-color:white;display:flex;flex-direction:column;box-sizing:border-box;'); var label=document.createElement('label'); label.setAttribute('for','file1'); label.innerHTML="<span style=\"color:blue;\">Ukończone wątki: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_0=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file1') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;'); progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_1=c.appendChild(progress); var label=document.createElement('label'); label.setAttribute('for','file2'); label.innerHTML="<span style=\"color:blue;\">Zwolnione blokaty: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_1=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file2') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;') progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_2=c.appendChild(progress); function PozycjaXY(){ c.style.top=(window.scrollY+document.documentElement.clientHeight-parseFloat(c.style.height))+"px"; c.style.left=(window.scrollX+document.documentElement.clientWidth-parseFloat(c.style.width))+"px"; } document.querySelector('body').appendChild(c); PozycjaXY(); $(window).on('scroll',PozycjaXY); $(window).on('resize',PozycjaXY); return new Array(element_body_progress_1,element_body_progress_2,span_0,span_1); } var arr; function __FUNKCJA(arr){ arr[0].setAttribute("value","0"); arr[1].setAttribute("value","0"); let dodatnie_0=tab_promise2.lengthPlus; let ujemne_0=tab_promise2.lengthMinus; let dodatnie_1=StronicowyParser.muteks.LiczbaBlokatPlus; let ujemne_1=StronicowyParser.muteks.LiczbaBlokatMinus; let postep_0=((dodatnie_0>0)?((ujemne_0/dodatnie_0)*100):0); let postep_1=((dodatnie_1>0)?((ujemne_1/dodatnie_1)*100):0); arr[0].setAttribute("value",postep_0); arr[1].setAttribute("value",postep_1); arr[2].innerHTML=(parseInt(postep_0*1000)/1000)+"%"; arr[3].innerHTML=(parseInt(postep_1*1000)/1000)+"%"; } StronicowyParser.CzekajNaZakaczenie(tab_promise2,null,StronicowyParser.muteks,(tab_promise)=>{arr=Progress();__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);setTimeout(function(){let node_postep=document.getElementById('pasek_postępu');$(node_postep).remove();},2000);}).then(async (result) => {}).catch(()=>{}); }; StronicowyParser.WyswietlStronyKsiazki().then((result) => {}).catch((error) => {}); }); j56c7f22vep3oz62wwjowkbkypfk8qw 437327 437326 2022-08-09T17:32:23Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.WyswietlStronyKsiazki=async function(){ await StronicowyParser.muteks.zablokuj(); let stronasubst_latex=undefined; let stronasubst_mathml=undefined; let stronasubst_opakuj_kategorie_ze_sortowaniem=undefined; let stronasubst_ukrywaj_toc=undefined; let stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=undefined; let stronasubst_aktualizowanie_nazw_artykulow=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=undefined; let stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=undefined; let stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=undefined; let stronasubst_nie_usuwaj_styli=undefined; let stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'StronaSubst-name': 'Strona zbiorcza', 'StronaSubst-description-page': 'Wikibooks:StronicowyParser/StronaSubst', 'StronaSubst-latex': 'Zamiast wzorów, wstaw tekst latexowy, w przeciwnym przypadku jest w formie LaTeX.', 'StronaSubst-mathml': 'Zamiast wzorów latexowych, wstaw je w formie znaczników MathML.', 'StronaSubst-opakuj_kategorie_ze_sortowaniem' : 'W stronach zbiorczych opakowuje kategorie, w postaci ramki, dla każdego artykułu z osobna.', 'StronaSubst-ukrywaj_toc' : "Ukrywa, począwszy od jakiegoś poziomu wszystkich tam spisów treści, na stronach zbiorczych.", 'StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach' : "Włącza dymki, nad linkami, w ładowanych dynamicznie stronach, tworząc je inteligentnymi.", 'StronaSubst-aktualizowanie_nazw_artykulow' : 'Aktualizuje na podstawie strony głównej nazwy tylko artykułów.', 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami' : "Aktualizuje sekcje poszczegónych rozdziałów artykułów ładowanych rozdziałami, domyślnie według sekcji w tych jednostkach.", 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika' : 'Aktualizuje, sekcje artykułów ładowanych rozdziałami, na podstawie strony głównej książki, a nie jego artykułów.', 'StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej' : 'Aktualizuje nagłówki strony głównej podręcznika na stronie zbiorczej.', 'StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule' : 'Aktualizuje, brakujące sekcje rozdziałów ładowanych rozdziałami artykułów, według wpisów na stronie głównej, na stronie zbiorczej.', 'StronaSubst-nie_usuwaj_styli' : 'Nie usuwa styli z nagłówków ładowanych stron.', 'StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst' : 'Rozwijaj szablony oznaczone szablonem SzablonSubst.', }); gConfig.register('StronaSubst', {name: mw.msg('StronaSubst-name'), descriptionPage: mw.msg('StronaSubst-description-page')}, [ { name: 'latex', desc: mw.msg('StronaSubst-latex'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_latex'] }, { name: 'mathml', desc: mw.msg('StronaSubst-mathml'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_mathml'] }, { name: 'opakuj_kategorie_ze_sortowaniem', desc: mw.msg('StronaSubst-opakuj_kategorie_ze_sortowaniem'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_opakuj_kategorie_ze_sortowaniem'] }, { name: 'ukrywaj_toc', desc: mw.msg('StronaSubst-ukrywaj_toc'), type: 'integer', deflt: 0, validation: function(n){ if((n<0)||(n==1)){ throw 'Wartość dotycząca poziomu ukrywania spisów treści jest nieprawidłowa!' }; return n; }, legacy: [window, 'wb_stronasubst_ukrywaj_toc'] }, { name: 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach', desc: mw.msg('StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'] }, { name: 'aktualizowanie_nazw_artykulow', desc: mw.msg('StronaSubst-aktualizowanie_nazw_artykulow'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nazw_artykulow'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'] }, { name: 'aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej', desc: mw.msg('StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'] }, { name: 'aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule', desc: mw.msg('StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'] }, { name: 'nie_usuwaj_styli', desc: mw.msg('StronaSubst-nie_usuwaj_styli'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_nie_usuwaj_styli'] }, { name: 'rozwijaj_szablony_oznaczone_szablonem_szablonsubst', desc: mw.msg('StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst'] }, ]); stronasubst_latex = (gConfig.get('StronaSubst', 'latex')==true); stronasubst_mathml = (((gConfig.get('StronaSubst', 'mathml'))&&(!stronasubst_latex))==true); stronasubst_opakuj_kategorie_ze_sortowaniem = (gConfig.get('StronaSubst', 'opakuj_kategorie_ze_sortowaniem')==true); stronasubst_ukrywaj_toc = gConfig.get('StronaSubst', 'ukrywaj_toc'); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach = gConfig.get('StronaSubst', 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'); stronasubst_aktualizowanie_nazw_artykulow = (gConfig.get('StronaSubst', 'aktualizowanie_nazw_artykulow')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami = (gConfig.get('StronaSubst', 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika = (gConfig.get('StronaSubst','aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika')==true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej = (gConfig.get('StronaSubst','aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej')==true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule = (gConfig.get('StronaSubst','aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule')==true); stronasubst_nie_usuwaj_styli = (gConfig.get('StronaSubst','nie_usuwaj_styli')==true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst = (gConfig.get('StronaSubst','rozwijaj_szablony_oznaczone_szablonem_szablonsubst')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} let stronasubst_tablica_tych_samych=new Array(); let stronasubst_tablica_rozdzialow=new Array(); let stronasubst_tablica_alternatywnych_nazw=new Array(); stronasubst_latex=((stronasubst_latex!==undefined)?stronasubst_latex:false); stronasubst_mathml=((stronasubst_mathml!==undefined)?stronasubst_mathml:true); stronasubst_opakuj_kategorie_ze_sortowaniem=((stronasubst_opakuj_kategorie_ze_sortowaniem!==undefined)?stronasubst_opakuj_kategorie_ze_sortowaniem:false); stronasubst_ukrywaj_toc=parseInt(((stronasubst_ukrywaj_toc!==undefined)?stronasubst_ukrywaj_toc:0)); stronasubst_ukrywaj_toc=((!isNaN(stronasubst_ukrywaj_toc))?stronasubst_ukrywaj_toc:0); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=((stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach!==undefined)?stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach:true); stronasubst_aktualizowanie_nazw_artykulow=((stronasubst_aktualizowanie_nazw_artykulow!==undefined)?stronasubst_aktualizowanie_nazw_artykulow:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika:true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=((stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej!==undefined)?stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej:true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=((stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule!==undefined)?stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule:true); stronasubst_nie_usuwaj_styli=((stronasubst_nie_usuwaj_styli!==undefined)?stronasubst_nie_usuwaj_styli:true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=((stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst!==undefined)?stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst:true); async function AnalizujDalejSzablonSubst(element_strony,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let rozdzial_ksiazki="rozdział_książki"; let el=$(element_strony).find('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((el!==null)&&(el.length>0)){ for(let i=0;i<el.length;++i){ let element_el=el[i]; let ksiazka=element_el.querySelector("."+rozdzial_ksiazki); if(ksiazka){ let nazwa_strony=element_el.getAttribute('nazwa_strony'); if(tab_promise2){tab_promise2.push(true);} CzyStronaSubst(element_el,nazwa_strony,tab_promise2); } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } async function WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let title=data.parse.title; let wikikod=data.parse.text['*']; let strona_hash; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let t=tab_uzyskane[0]; if(t==undefined){ console.log("Nie wykryto znacznika lsth_\d+."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } strona_hash=titles[t]; let selflink=document.createElement('div'); selflink.innerHTML=wikikod; let czy_selflink=selflink.getElementsByClassName('selflink'); if((czy_selflink!==null)&&(czy_selflink.length==1)){ let elements=tabstrona[strona_hash]; let a=document.createElement('a');/*Tworzenie linku*/ a.setAttribute('href',StronicowyParser.kodowanie.EncodeHtml(title)); a.innerHTML=strona_hash; let span=document.createElement('span'); span.appendChild(a); span.setAttribute("class","niw link");/*Dodawanie klasy, by inny skript JS to przeanalizował jako link*/ if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo(span); } for(let q in elements){ let element=elements[q]; element.innerHTML=""; element.appendChild(span); $(element).wrap(function(){return "<strong></strong>";}); let przed=document.createTextNode("{{:"); let po=document.createTextNode("}}"); element.insertBefore(przed,element.firstChild); element.appendChild(po); element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=tab_uzyskane[1].innerHTML; let elements=tabstrona[strona_hash]; for(let q in elements){ let element=elements[q]; element.innerHTML=wikikod; StronicowyParser.ZamienLinkiNaLinkiDoStronyAktualnej(element,title,titles); } StronicowyParser.AktualizujSpisTresciModuluStrony(elements,tabs,strona_hash,stronasubst_tablica_alternatywnych_nazw,stronasubst_tablica_tych_samych,stronasubst_tablica_rozdzialow,true,stronasubst_latex,stronasubst_mathml) let strona_start=$(elements[0]).parents(".strona_start"); let rodzic=undefined; if((strona_start!==null)&&(strona_start.length>0)){ rodzic=strona_start[0]; } StronicowyParser.IndeksujHeadLine(rodzic); StronicowyParser.PrzeIndeksujWszystkieTOC(rodzic,true); for(let q in elements){ let element=elements[q]; async function ElementDalszychObliczen(element,tab_promise2){ await StronicowyParser.muteks.zablokuj(true); StronicowyParser.PoprawRozdzialyStron(element); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu(element,tab_promise2);//Funkcja jako gadżet do numerowania rozdziałów. } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element,tab_promise2); } if((StronicowyParser.szablony&&StronicowyParser.szablony.LadujSzablon)&&(stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst)){ let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(element,title,titles,undefined,tab_promise).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(()=>{ if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(element); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} ElementDalszychObliczen(element,tab_promise2); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function ToogleTableOfContainer(panel){ let id=panel.target; let tagname=id.tagName.toUpperCase(); //console.log(czy_klasa,tagname,"TYTAN)"; if(tagname=="BUTTON"){ let czy_klasa_1=$(id).hasClass('sidebar-toc-toggle'); let czy_klasa_2=$(id).hasClass('vector-toc-collapse-button'); if(czy_klasa_1){ $(id).parent().children().last().each((i,element)=>{ let expanded=$(id).attr('aria-expanded'); if(expanded=="false"){ $(element).css('display',"block"); $(element).closest('li').addClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','true'); }else if(expanded=="true"){ $(element).css('display',"none"); $(element).closest('li').removeClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','false'); } }); }else if(czy_klasa_2){ $(id).parents('#sidebar-toc-label').siblings('ul').each((i,element)=>{ let ukryj=$(element).css('display'); if(ukryj!="none"){ $(element).css('display',"none"); id.innerHTML=" pokaż "; }else{ $(element).css('display',"block"); id.innerHTML=" ukryj " } }); } } } let mutekstoogle=new StronicowyParser.Muteks(); async function ScrollTableOfContainer(){ await mutekstoogle.zablokuj(); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').first().each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky.height-15; }); let parser=document.querySelector('#mw-content-text .mw-parser-output'); if(parser){ let rect=parser.getBoundingClientRect(); if(rect.top>=height_sticky){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item').first().addClass('sidebar-toc-list-item-active'); mutekstoogle.odblokuj(); return; } }else{ mutekstoogle.odblokuj(); return; } var str=$('#mw-content-text .mw-parser-output').find('h1, h2, h3, h4, h5, h6'); if((str!==null)&&(str.length>0)){ var naglowek; for(i=0;i<str.length;++i){ let element=str[i]; let rect=element.getBoundingClientRect(); if(rect.top>=height_sticky){ let mw_naglowek=element.querySelector('.mw-headline'); if(mw_naglowek){ let id_naglowek=mw_naglowek.getAttribute('id'); let tak=false; $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+id_naglowek){ let display=window.getComputedStyle(element, null).getPropertyValue('display'); if(display!="none"){ tak=true; } } }); if(tak){ naglowek=id_naglowek; break; } } } } if(naglowek){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+naglowek){ $(element).addClass('sidebar-toc-list-item-active'); } }); } } mutekstoogle.odblokuj(); } async function StronaSubst(element_strony,wikikod,aktualna_strona,tab_promise2){ await StronicowyParser.muteks.zablokuj(); StronicowyParser.NaprawNaglowkiStrony(element_strony,true); let czy_wikikod=wikikod.match(/^[_\s]*$/g); let strona_start=$('#mw-content-text .mw-parser-output .strona_start'); function CzyWszystkieNaglowkiWewnatrzStronaStart(){ let pole=$('#mw-content-text .mw-parser-output').find('h1,h2,h3,h4,h5,h6'); for(let i=0;i<pole.length;++i){ let s=strona_start.find(pole[i]); if((s===null)||(s.length==0)){ return false; } } return true; } if(czy_wikikod){ StronicowyParser.muteks.odblokuj(); let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyArtykulu)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyArtykulu(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } let czy_numerowac=StronicowyParser.CzyWlaczycSideBarTOC(undefined,true); if(czy_numerowac){ czy_numerowac=false; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: StronicowyParser.pageinfo.fullname, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+StronicowyParser.pageinfo.fullname+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ czy_numerowac=true; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ let tab_promise=new Array(true); StronicowyParser.LimitTOC(czy_numerowac,stronasubst_ukrywaj_toc); StronicowyParser.szablony.LadujSzablon(null,null,null,czy_numerowac,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true) StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],czy_numerowac,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(czy_numerowac)){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} return; } let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(null,null,null,undefined,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async (result) => { let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } await StronicowyParser.CzekajNaZakaczenie(tab_promise).then(async (result) => {}).catch(()=>{}); await StronicowyParser.muteks.zablokuj(); if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); let rozdzial_ksiazki="rozdział_książki"; let tagclass=element_strony.getElementsByClassName(rozdzial_ksiazki); if(tagclass===null){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return null; } let liczba_elementow=tagclass.length; if(liczba_elementow==0){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return null; } let titles=new Array(); let tabstrona=new Array(); let tabs=new Array(); let tab_section=new Array(); if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element_strony,tab_promise2); } let tab_hn=new Array(); async function edit_action(numer,strona,hn,link_strona,czy_link_nie_w_naglowku){ await StronicowyParser.muteks.zablokuj(); let linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection===null){ let editsection=document.createElement('span'); editsection.classList.add('mw-editsection'); let bracket_poczatek=document.createElement('span'); bracket_poczatek.classList.add('mw-editsection-bracket') bracket_poczatek.innerHTML="["; let a=document.createElement('a'); a.setAttribute('href',"/w/index.php?title="+StronicowyParser.kodowanie.EncodeHtml(strona,false,true)+"&action=edit"+((numer>0)?("&section="+numer):"")); a.setAttribute('title',"Edytuj artykuł: "+link_strona); a.innerHTML="edytuj"; let bracket_koniec=document.createElement('span'); bracket_koniec.classList.add('mw-editsection-bracket') bracket_koniec.innerHTML="]"; editsection.appendChild(bracket_poczatek); editsection.appendChild(a) editsection.appendChild(bracket_koniec); hn.appendChild(editsection); } linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection!==null){ let mw_editsection_bracket=linkstrony_editsection.querySelector('a'); if(mw_editsection_bracket!==null){ if(czy_link_nie_w_naglowku){ let a=document.createElement('a'); a.innerHTML="artykuł"; a.setAttribute("href",StronicowyParser.kodowanie.EncodeHtml("/wiki/"+StronicowyParser.kodowanie.EncodeHtml(link_strona,false,true))); a.setAttribute("title","Zobacz artykuł: "+link_strona); let span=document.createElement('span'); span.innerHTML="| "; span.setAttribute('class',"mw-editsection-bracket") let czy_ma=$(mw_editsection_bracket).parent().hasClass('link'); if(czy_ma){ let rodzic_mw_editsection_bracket=mw_editsection_bracket.parentNode; let span2=linkstrony_editsection.insertBefore(span, rodzic_mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); }else{ let span2=linkstrony_editsection.insertBefore(span, mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); } } } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(linkstrony_editsection).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); } for (let i=0;i<liczba_elementow;++i){ let tagclassname=tagclass[i]; let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find("."+rozdzial_ksiazki); function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==tagclassname){ return true; } } return false; } if(CzyOdrzucic()){continue;} if(tagclassname.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let class_element=tagclassname.getElementsByClassName('strona_subst'); let element; if((class_element!==null)&&(class_element.length==1)){ element=class_element[0]; if(element.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let czy_link_nie_w_naglowku; let strona_headline=tagclassname.getElementsByClassName('mw-headline'); let link_strona; if((strona_headline!==null)&&(strona_headline.length==1)){ strona_a=strona_headline[0].getElementsByTagName('a'); if((strona_a!==null)&&(strona_a.length==1)){ link_strona=StronicowyParser.kodowanie.DecodeHtml(strona_a[0].getAttribute('href')); if(link_strona!==null){ let re=/\/wiki\//g; if(re.test(link_strona)){ link_strona=link_strona.substring(6,link_strona.length); czy_link_nie_w_naglowku=false; }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } } }else{ link_strona=StronicowyParser.style.UsunStyle(element.innerHTML); czy_link_nie_w_naglowku=true; } } let re = /^[_\s]*$/g; let dopasowanie = re.test(link_strona); if(dopasowanie){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return; }; link_strona=link_strona.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ").replace(/&amp;/g,"&").replace(/&nbsp;/g," "); let hash=link_strona.replace(/^([^#]*)#(.*)$/,"$2").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); /**/ let hn=strona_headline[0].parentNode; if((hn===null)||(!hn.tagName.toUpperCase().match(/^H\d+$/g))){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} tab_section[i]=new Array(hn,link_strona,czy_link_nie_w_naglowku); let strona=link_strona.match(/^[^#]*/g).toString(); async function PraceIteracyjne(tab_promise2){ await StronicowyParser.muteks.zablokuj(); if(/#/g.test(link_strona)){ let hash=link_strona.replace(/^([^#]*)#(.*)$/g,"$2"); if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let numer=hn.innerHTML; numer=parseInt(numer); if(isNaN(numer)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return ;} let tab_c=tab_section[c]; edit_action(numer,tab_c[1].match(/^[^#]*/g).toString(),tab_c[0],tab_c[1],tab_c[2]); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami){ if(!stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); }else{ let uzupelniaj_sekcje_artykulow; if(stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule){ uzupelniaj_sekcje_artykulow="tak"; }else{ uzupelniaj_sekcje_artykulow=""; } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+link_strona+"|analiza=tak|uzupełniaj sekcje artykułów="+uzupelniaj_sekcje_artykulow+"|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; let a=headline.getElementsByTagName('a'); if((a!==null)&&(a.length>0)){ a[0].setAttribute('title',stare); } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } }else{ edit_action(0,strona,hn,link_strona,czy_link_nie_w_naglowku); if(stronasubst_aktualizowanie_nazw_artykulow){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+strona+"|analiza=tak|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceIteracyjne(tab_promise2).then((result) => {}).catch((error) => {}); },1000); /**/ tabs[i]=link_strona; let czy=false; for(let d in titles){ if(titles[d]==link_strona){ czy=true; break; } } if(!czy){ titles[titles.length]=link_strona; } if(tabstrona[link_strona]==null){ tabstrona[link_strona]=new Array(); } let tab=tabstrona[link_strona]; let tablen=tab.length; tabstrona[link_strona][tablen]=element; } async function PraceNaglowki(tab_promise2){ await StronicowyParser.muteks.zablokuj(); let promise; if(element_strony==document){ let namespace=StronicowyParser.pageinfo.namespace; let strona_podrecznika=((namespace!="")?(namespace+":"):"")+StronicowyParser.pageinfo.bookname; promise=Promise.resolve(strona_podrecznika); }else{ let zaan=$(element_strony).parents('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((zaan!==null)&&(zaan.length>0)){ let strona=zaan[0].getAttribute('nazwa_strony'); if(strona){ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](strona); }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } } if(tab_promise2){tab_promise2.push(true);} promise.then(async (strona_podrecznika)=>{ await StronicowyParser.muteks.zablokuj(); let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find(".klasa_nagłówka"); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)){ let g=0; let tab_naglowka=new Array(); let tab_hn=new Array(); for(let z=0;z<klasa_naglowka.length;++z){ let pojedyncza_klasa_naglowka=klasa_naglowka[z]; function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==pojedyncza_klasa_naglowka){ return true; } } return false; } if(CzyOdrzucic()){continue;} let dana_klasa_naglowka=pojedyncza_klasa_naglowka.querySelector('.mw-headline'); if(dana_klasa_naglowka!==null){ if((dana_klasa_naglowka.parentNode!==null)&&(dana_klasa_naglowka.parentNode.tagName.toUpperCase().match(/^[Hh]\d+$/g)) &&(dana_klasa_naglowka.parentNode.parentNode!=null)&&(dana_klasa_naglowka.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&($(dana_klasa_naglowka.parentNode.parentNode).hasClass('klasa_nagłówka'))){ let naglowek=StronicowyParser.style.UsunStyle(dana_klasa_naglowka.innerHTML).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); let ww=1; for(let x=0;x<tab_naglowka.length;++x){ if(tab_naglowka[x]==naglowek){ ++ww; } } naglowek=naglowek+((ww>1)?ww:""); tab_naglowka[g]=naglowek; tab_hn[g]=dana_klasa_naglowka.parentNode; if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, na stronie głównej podręcznika, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let nazwa_podrecznika=strona_podrecznika.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") let naglowek_sekcji_podrecznika=tab_naglowka[c].replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") edit_action(c+1,nazwa_podrecznika,tab_hn[c],nazwa_podrecznika+"#"+naglowek_sekcji_podrecznika,true); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();return;} let headline=tab_hn[c].querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } ++g; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceNaglowki(tab_promise2).then((result) => {}).catch((error) => {}); },1000); function RozwazajNaglowki(){ let toc_fun=new StronicowyParser.ListaNodeTOC(); if((toc_fun.toc!==null)&&(toc_fun.toc.length>0)){ for(let w=0;w<toc_fun.toc.length;++w){ let czy_side_bar_toc=toc_fun.CzySideBarToc(toc_fun.toc[w]); let ile_jest=0; let li=toc_fun.toc[w].getElementsByTagName('li'); if((li!==null)&&(li.length>0)){ for(let dd=0;dd<li.length;++dd){ let element_li=li[dd]; let tocnumber;let toctext_wartosc; if(czy_side_bar_toc){ tocnumber=element_li.querySelector('.sidebar-toc-numb'); if(!tocnumber){continue;} toctext_wartosc=element_li.querySelector('.sidebar-toc-text').innerHTML.replace(new RegExp(StronicowyParser.wzor.BezZnakowSpecjalnych(tocnumber.outerHTML),"g"),""); }else{ tocnumber=element_li.querySelector('.tocnumber'); toctext_wartosc=element_li.querySelector('.toctext').innerHTML; } if((tocnumber!==null)&&(toctext_wartosc!==null)){ let czy_jest=undefined; let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)&&(klasa_naglowka[ile_jest]!=null)){ let element_klasa_naglowka=klasa_naglowka[ile_jest]; let headline=element_klasa_naglowka.querySelector('.mw-headline'); if((headline!==null) &&(headline.parentNode!==null) &&(headline.parentNode.tagName.toUpperCase().match(/^H\d+$/)) &&(headline.parentNode.parentNode!==null) &&(headline.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&(headline.parentNode.parentNode===element_klasa_naglowka) ){ let element_a; if(czy_side_bar_toc){ element_a=tocnumber.parentNode.parentNode; }else{ element_a=tocnumber.parentNode; } if(element_a.tagName.toUpperCase()=="A"){ let href=StronicowyParser.kodowanie.DecodeHtml(element_a.getAttribute('href')); if(href!==null){ href=href.replace(/^#/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); let id_headline=headline.getAttribute('id'); if(id_headline!==null){ id_headline=id_headline.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); if(href!=id_headline){czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} if(czy_jest===undefined){ile_jest+=1;} if((czy_jest===undefined)||(!czy_jest)){ let element_toctext=StronicowyParser.style.UsunStyle(toctext_wartosc).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," "); if(stronasubst_tablica_rozdzialow[element_toctext]==null){ stronasubst_tablica_rozdzialow[element_toctext]=new Array(tocnumber); }else{ stronasubst_tablica_rozdzialow[element_toctext].push(tocnumber); } } } } } } } } StronicowyParser.LimitTOC(true,stronasubst_ukrywaj_toc); if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],true,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(StronicowyParser.CzyWlaczycSideBarTOC(undefined,true))){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } RozwazajNaglowki(); if(stronasubst_mathml){ $("div.toc ul > li > a > span.toctext").toggleClass("mathml"); $("div.toc_spis ul > li > a > span.toctext").toggleClass("mathml"); $("div.mw-table-of-contents-container > nav.sidebar-toc ul > li > a > div.sidebar-toc-text").toggleClass("mathml"); } function Strona(strona){ let strona_re=StronicowyParser.wzor.BezZnakowSpecjalnych(strona); let re=new RegExp("^\\s*"+strona_re+"\\s*#","g"); return re; } function CzyArtykulyZNaglowkamiDlaStrony(re){ for(let s in titles){ let czy_hash=titles[s].match(re); if(czy_hash){ return true; } } return false; } let catlinks_fun=new StronicowyParser.LinkiKategorii(); await catlinks_fun.PobierzKategorieStrony(); for ( let t in titles ) { let strona=titles[t].match(/^[^#]*/g).toString(); let szablon_artykulu; let re_strona=Strona(strona); let czy_naglowki=CzyArtykulyZNaglowkamiDlaStrony(re_strona); if(!czy_naglowki){ szablon_artykulu="{{:"+strona+"}}"; }else{ /*---------------------------------*/ let rozdzial1=null; let re=/^([^#]*)#(.*)$/g; if(re.test(titles[t])){ rozdzial1=titles[t].replace(re,"$2"); rozdzial1=rozdzial1.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial1="";} let rozdzial2=null; let tit=titles[parseInt(t)+1]; if( tit && re.test(tit) && re_strona.test(tit)){ rozdzial2=tit.replace(re,"$2"); rozdzial2=rozdzial2.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial2="";} /*---------------------------*/ szablon_artykulu="{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|TekstRozdziałuStrony|"+strona+"|"+rozdzial1+"|"+rozdzial2+"}}}}"; } szablon_artykulu="{{PrzytnijTekst|"+szablon_artykulu+"}}"; if(stronasubst_opakuj_kategorie_ze_sortowaniem){ szablon_artykulu="{{OpakujKategorieZeSortowaniem|"+szablon_artykulu+"}}" } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text|categories', title: strona, text: "<div class=\"hn hn_"+t+"\">\n"+szablon_artykulu+"\n</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); catlinks_fun.AnalizaKategorii(data).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);} WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2).then((result) => {}).catch((error) => {}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function CzyszczenieZZdarzeńTableOfContent(){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } } } CzyszczenieZZdarzeńTableOfContent(); let tab_promise2=new StronicowyParser.SugerowaneObiekty(); async function CzyStronaSubst(element,aktualna_strona,tab_promise2){ if(tab_promise2){tab_promise2.push(true);} await StronicowyParser.muteks.zablokuj(); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronaSubst}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.expandtemplates.wikitext; if((wikikod!==null)&&(aktualna_strona!==null)){ if(tab_promise2){tab_promise2.push(true);} StronaSubst(element,wikikod,aktualna_strona,tab_promise2).then((result) => {}).catch((error) => {}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } let aktualna_strona=StronicowyParser.pageinfo.fullname; if(tab_promise2){tab_promise2.push(true,true);} CzyStronaSubst(document,aktualna_strona,tab_promise2); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} function Progress(){ var c=document.createElement('div'); c.setAttribute("id","pasek_postępu") c.setAttribute('style','line-height:1.2em;margin-top:-2px;margin-left:-2px;position:absolute;width:250px;height:75px;border:1px solid black;box-sizing:border-box;padding:5px;background-color:white;display:flex;flex-direction:column;box-sizing:border-box;'); var label=document.createElement('label'); label.setAttribute('for','file1'); label.innerHTML="<span style=\"color:blue;\">Ukończone wątki: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_0=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file1') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;'); progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_1=c.appendChild(progress); var label=document.createElement('label'); label.setAttribute('for','file2'); label.innerHTML="<span style=\"color:blue;\">Zwolnione blokaty: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_1=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file2') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;') progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_2=c.appendChild(progress); function PozycjaXY(){ c.style.top=(window.scrollY+document.documentElement.clientHeight-parseFloat(c.style.height))+"px"; c.style.left=(window.scrollX+document.documentElement.clientWidth-parseFloat(c.style.width))+"px"; } document.querySelector('body').appendChild(c); PozycjaXY(); $(window).on('scroll',PozycjaXY); $(window).on('resize',PozycjaXY); return new Array(element_body_progress_1,element_body_progress_2,span_0,span_1); } var arr; function __FUNKCJA(arr){ arr[0].setAttribute("value","0"); arr[1].setAttribute("value","0"); let dodatnie_0=tab_promise2.lengthPlus; let ujemne_0=tab_promise2.lengthMinus; let dodatnie_1=StronicowyParser.muteks.LiczbaBlokatPlus; let ujemne_1=StronicowyParser.muteks.LiczbaBlokatMinus; let postep_0=((dodatnie_0>0)?((ujemne_0/dodatnie_0)*100):0); let postep_1=((dodatnie_1>0)?((ujemne_1/dodatnie_1)*100):0); arr[0].setAttribute("value",postep_0); arr[1].setAttribute("value",postep_1); arr[2].innerHTML=(parseInt(postep_0*1000)/1000)+"%"; arr[3].innerHTML=(parseInt(postep_1*1000)/1000)+"%"; } StronicowyParser.CzekajNaZakaczenie(tab_promise2,null,StronicowyParser.muteks,(tab_promise)=>{arr=Progress();__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);setTimeout(function(){let node_postep=document.getElementById('pasek_postępu');$(node_postep).remove();},2000);}).then(async (result) => {}).catch(()=>{}); }; StronicowyParser.WyswietlStronyKsiazki().then((result) => {}).catch((error) => {}); }); fszzf3qgx7iphvcibzygl4cy8bi0b0o 437328 437327 2022-08-09T17:35:03Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.WyswietlStronyKsiazki=async function(){ await StronicowyParser.muteks.zablokuj(); let stronasubst_latex=undefined; let stronasubst_mathml=undefined; let stronasubst_opakuj_kategorie_ze_sortowaniem=undefined; let stronasubst_ukrywaj_toc=undefined; let stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=undefined; let stronasubst_aktualizowanie_nazw_artykulow=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=undefined; let stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=undefined; let stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=undefined; let stronasubst_nie_usuwaj_styli=undefined; let stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'StronaSubst-name': 'Strona zbiorcza', 'StronaSubst-description-page': 'Wikibooks:StronicowyParser/StronaSubst', 'StronaSubst-latex': 'Zamiast wzorów, wstaw tekst latexowy, w przeciwnym przypadku jest w formie LaTeX.', 'StronaSubst-mathml': 'Zamiast wzorów latexowych, wstaw je w formie znaczników MathML.', 'StronaSubst-opakuj_kategorie_ze_sortowaniem' : 'W stronach zbiorczych opakowuje kategorie, w postaci ramki, dla każdego artykułu z osobna.', 'StronaSubst-ukrywaj_toc' : "Ukrywa, począwszy od jakiegoś poziomu wszystkich tam spisów treści, na stronach zbiorczych.", 'StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach' : "Włącza dymki, nad linkami, w ładowanych dynamicznie stronach, tworząc je inteligentnymi.", 'StronaSubst-aktualizowanie_nazw_artykulow' : 'Aktualizuje na podstawie strony głównej nazwy tylko artykułów.', 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami' : "Aktualizuje sekcje poszczegónych rozdziałów artykułów ładowanych rozdziałami, domyślnie według sekcji w tych jednostkach.", 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika' : 'Aktualizuje, sekcje artykułów ładowanych rozdziałami, na podstawie strony głównej książki, a nie jego artykułów.', 'StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej' : 'Aktualizuje nagłówki strony głównej podręcznika na stronie zbiorczej.', 'StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule' : 'Aktualizuje, brakujące sekcje rozdziałów ładowanych rozdziałami artykułów, według wpisów na stronie głównej, na stronie zbiorczej.', 'StronaSubst-nie_usuwaj_styli' : 'Nie usuwa styli z nagłówków ładowanych stron.', 'StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst' : 'Rozwijaj szablony oznaczone szablonem SzablonSubst.', }); gConfig.register('StronaSubst', {name: mw.msg('StronaSubst-name'), descriptionPage: mw.msg('StronaSubst-description-page')}, [ { name: 'latex', desc: mw.msg('StronaSubst-latex'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_latex'] }, { name: 'mathml', desc: mw.msg('StronaSubst-mathml'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_mathml'] }, { name: 'opakuj_kategorie_ze_sortowaniem', desc: mw.msg('StronaSubst-opakuj_kategorie_ze_sortowaniem'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_opakuj_kategorie_ze_sortowaniem'] }, { name: 'ukrywaj_toc', desc: mw.msg('StronaSubst-ukrywaj_toc'), type: 'integer', deflt: 0, validation: function(n){ if((n<0)||(n==1)){ throw 'Wartość dotycząca poziomu ukrywania spisów treści jest nieprawidłowa!' }; return n; }, legacy: [window, 'wb_stronasubst_ukrywaj_toc'] }, { name: 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach', desc: mw.msg('StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'] }, { name: 'aktualizowanie_nazw_artykulow', desc: mw.msg('StronaSubst-aktualizowanie_nazw_artykulow'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nazw_artykulow'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'] }, { name: 'aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej', desc: mw.msg('StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'] }, { name: 'aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule', desc: mw.msg('StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'] }, { name: 'nie_usuwaj_styli', desc: mw.msg('StronaSubst-nie_usuwaj_styli'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_nie_usuwaj_styli'] }, { name: 'rozwijaj_szablony_oznaczone_szablonem_szablonsubst', desc: mw.msg('StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst'] }, ]); stronasubst_latex = (gConfig.get('StronaSubst', 'latex')==true); stronasubst_mathml = (((gConfig.get('StronaSubst', 'mathml'))&&(!stronasubst_latex))==true); stronasubst_opakuj_kategorie_ze_sortowaniem = (gConfig.get('StronaSubst', 'opakuj_kategorie_ze_sortowaniem')==true); stronasubst_ukrywaj_toc = gConfig.get('StronaSubst', 'ukrywaj_toc'); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach = gConfig.get('StronaSubst', 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'); stronasubst_aktualizowanie_nazw_artykulow = (gConfig.get('StronaSubst', 'aktualizowanie_nazw_artykulow')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami = (gConfig.get('StronaSubst', 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika = (gConfig.get('StronaSubst','aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika')==true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej = (gConfig.get('StronaSubst','aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej')==true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule = (gConfig.get('StronaSubst','aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule')==true); stronasubst_nie_usuwaj_styli = (gConfig.get('StronaSubst','nie_usuwaj_styli')==true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst = (gConfig.get('StronaSubst','rozwijaj_szablony_oznaczone_szablonem_szablonsubst')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} let stronasubst_tablica_tych_samych=new Array(); let stronasubst_tablica_rozdzialow=new Array(); let stronasubst_tablica_alternatywnych_nazw=new Array(); stronasubst_latex=((stronasubst_latex!==undefined)?stronasubst_latex:false); stronasubst_mathml=((stronasubst_mathml!==undefined)?stronasubst_mathml:true); stronasubst_opakuj_kategorie_ze_sortowaniem=((stronasubst_opakuj_kategorie_ze_sortowaniem!==undefined)?stronasubst_opakuj_kategorie_ze_sortowaniem:false); stronasubst_ukrywaj_toc=parseInt(((stronasubst_ukrywaj_toc!==undefined)?stronasubst_ukrywaj_toc:0)); stronasubst_ukrywaj_toc=((!isNaN(stronasubst_ukrywaj_toc))?stronasubst_ukrywaj_toc:0); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=((stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach!==undefined)?stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach:true); stronasubst_aktualizowanie_nazw_artykulow=((stronasubst_aktualizowanie_nazw_artykulow!==undefined)?stronasubst_aktualizowanie_nazw_artykulow:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika:true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=((stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej!==undefined)?stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej:true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=((stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule!==undefined)?stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule:true); stronasubst_nie_usuwaj_styli=((stronasubst_nie_usuwaj_styli!==undefined)?stronasubst_nie_usuwaj_styli:true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=((stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst!==undefined)?stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst:true); async function AnalizujDalejSzablonSubst(element_strony,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let rozdzial_ksiazki="rozdział_książki"; let el=$(element_strony).find('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((el!==null)&&(el.length>0)){ for(let i=0;i<el.length;++i){ let element_el=el[i]; let ksiazka=element_el.querySelector("."+rozdzial_ksiazki); if(ksiazka){ let nazwa_strony=element_el.getAttribute('nazwa_strony'); if(tab_promise2){tab_promise2.push(true);} CzyStronaSubst(element_el,nazwa_strony,tab_promise2); } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } async function WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let title=data.parse.title; let wikikod=data.parse.text['*']; let strona_hash; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let t=tab_uzyskane[0]; if(t==undefined){ console.log("Nie wykryto znacznika lsth_\d+."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } strona_hash=titles[t]; let selflink=document.createElement('div'); selflink.innerHTML=wikikod; let czy_selflink=selflink.getElementsByClassName('selflink'); if((czy_selflink!==null)&&(czy_selflink.length==1)){ let elements=tabstrona[strona_hash]; let a=document.createElement('a');/*Tworzenie linku*/ a.setAttribute('href',StronicowyParser.kodowanie.EncodeHtml(title)); a.innerHTML=strona_hash; let span=document.createElement('span'); span.appendChild(a); span.setAttribute("class","niw link");/*Dodawanie klasy, by inny skript JS to przeanalizował jako link*/ if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo(span); } for(let q in elements){ let element=elements[q]; element.innerHTML=""; element.appendChild(span); $(element).wrap(function(){return "<strong></strong>";}); let przed=document.createTextNode("{{:"); let po=document.createTextNode("}}"); element.insertBefore(przed,element.firstChild); element.appendChild(po); element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=tab_uzyskane[1].innerHTML; let elements=tabstrona[strona_hash]; for(let q in elements){ let element=elements[q]; element.innerHTML=wikikod; StronicowyParser.ZamienLinkiNaLinkiDoStronyAktualnej(element,title,titles); } StronicowyParser.AktualizujSpisTresciModuluStrony(elements,tabs,strona_hash,stronasubst_tablica_alternatywnych_nazw,stronasubst_tablica_tych_samych,stronasubst_tablica_rozdzialow,true,stronasubst_latex,stronasubst_mathml) let strona_start=$(elements[0]).parents(".strona_start"); let rodzic=undefined; if((strona_start!==null)&&(strona_start.length>0)){ rodzic=strona_start[0]; } StronicowyParser.IndeksujHeadLine(rodzic); StronicowyParser.PrzeIndeksujWszystkieTOC(rodzic,true); for(let q in elements){ let element=elements[q]; async function ElementDalszychObliczen(element,tab_promise2){ await StronicowyParser.muteks.zablokuj(true); StronicowyParser.PoprawRozdzialyStron(element); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu(element,tab_promise2);//Funkcja jako gadżet do numerowania rozdziałów. } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element,tab_promise2); } if((StronicowyParser.szablony&&StronicowyParser.szablony.LadujSzablon)&&(stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst)){ let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(element,title,titles,undefined,tab_promise).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(()=>{ if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(element); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} ElementDalszychObliczen(element,tab_promise2); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function ToogleTableOfContainer(panel){ let id=panel.target; let tagname=id.tagName.toUpperCase(); //console.log(czy_klasa,tagname,"TYTAN)"; if(tagname=="BUTTON"){ let czy_klasa_1=$(id).hasClass('sidebar-toc-toggle'); let czy_klasa_2=$(id).hasClass('vector-toc-collapse-button'); if(czy_klasa_1){ $(id).parent().children().last().each((i,element)=>{ let expanded=$(id).attr('aria-expanded'); if(expanded=="false"){ $(element).css('display',"block"); $(element).closest('li').addClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','true'); }else if(expanded=="true"){ $(element).css('display',"none"); $(element).closest('li').removeClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','false'); } }); }else if(czy_klasa_2){ $(id).parents('#sidebar-toc-label').siblings('ul').each((i,element)=>{ let ukryj=$(element).css('display'); if(ukryj!="none"){ $(element).css('display',"none"); id.innerHTML=" pokaż "; }else{ $(element).css('display',"block"); id.innerHTML=" ukryj " } }); } } } let mutekstoogle=new StronicowyParser.Muteks(); async function ScrollTableOfContainer(){ await mutekstoogle.zablokuj(); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').first().each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky.height-15; }); let parser=document.querySelector('#mw-content-text .mw-parser-output'); if(parser){ let rect=parser.getBoundingClientRect(); if(rect.top>=height_sticky){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item').first().addClass('sidebar-toc-list-item-active'); mutekstoogle.odblokuj(); return; } }else{ mutekstoogle.odblokuj(); return; } var str=$('#mw-content-text .mw-parser-output').find('h1, h2, h3, h4, h5, h6'); if((str!==null)&&(str.length>0)){ var naglowek; for(i=0;i<str.length;++i){ let element=str[i]; let rect=element.getBoundingClientRect(); if(rect.top>=height_sticky){ let mw_naglowek=element.querySelector('.mw-headline'); if(mw_naglowek){ let id_naglowek=mw_naglowek.getAttribute('id'); let tak=false; $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+id_naglowek){ let display=window.getComputedStyle(element, null).getPropertyValue('display'); if(display!="none"){ tak=true; } } }); if(tak){ naglowek=id_naglowek; break; } } } } if(naglowek){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+naglowek){ $(element).addClass('sidebar-toc-list-item-active'); } }); } } mutekstoogle.odblokuj(); } async function StronaSubst(element_strony,wikikod,aktualna_strona,tab_promise2){ await StronicowyParser.muteks.zablokuj(); StronicowyParser.NaprawNaglowkiStrony(element_strony,true); let czy_wikikod=wikikod.match(/^[_\s]*$/g); let strona_start=$('#mw-content-text .mw-parser-output .strona_start'); function CzyWszystkieNaglowkiWewnatrzStronaStart(){ let pole=$('#mw-content-text .mw-parser-output').find('h1,h2,h3,h4,h5,h6'); for(let i=0;i<pole.length;++i){ let s=strona_start.find(pole[i]); if((s===null)||(s.length==0)){ return false; } } return true; } if(czy_wikikod){ StronicowyParser.muteks.odblokuj(); let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyArtykulu)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyArtykulu(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } let czy_numerowac=StronicowyParser.CzyWlaczycSideBarTOC(undefined,true); if(czy_numerowac){ czy_numerowac=false; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: StronicowyParser.pageinfo.fullname, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+StronicowyParser.pageinfo.fullname+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ czy_numerowac=true; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ let tab_promise=new Array(true); StronicowyParser.LimitTOC(czy_numerowac,stronasubst_ukrywaj_toc); StronicowyParser.szablony.LadujSzablon(null,null,null,czy_numerowac,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true) StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],czy_numerowac,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(czy_numerowac)){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} return; } let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(null,null,null,undefined,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async (result) => { let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } await StronicowyParser.CzekajNaZakaczenie(tab_promise).then(async (result) => {}).catch(()=>{}); await StronicowyParser.muteks.zablokuj(); if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); let rozdzial_ksiazki="rozdział_książki"; let tagclass=element_strony.getElementsByClassName(rozdzial_ksiazki); if(tagclass===null){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return null; } let liczba_elementow=tagclass.length; if(liczba_elementow==0){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return null; } let titles=new Array(); let tabstrona=new Array(); let tabs=new Array(); let tab_section=new Array(); if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element_strony,tab_promise2); } let tab_hn=new Array(); async function edit_action(numer,strona,hn,link_strona,czy_link_nie_w_naglowku){ await StronicowyParser.muteks.zablokuj(); let linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection===null){ let editsection=document.createElement('span'); editsection.classList.add('mw-editsection'); let bracket_poczatek=document.createElement('span'); bracket_poczatek.classList.add('mw-editsection-bracket') bracket_poczatek.innerHTML="["; let a=document.createElement('a'); a.setAttribute('href',"/w/index.php?title="+StronicowyParser.kodowanie.EncodeHtml(strona,false,true)+"&action=edit"+((numer>0)?("&section="+numer):"")); a.setAttribute('title',"Edytuj artykuł: "+link_strona); a.innerHTML="edytuj"; let bracket_koniec=document.createElement('span'); bracket_koniec.classList.add('mw-editsection-bracket') bracket_koniec.innerHTML="]"; editsection.appendChild(bracket_poczatek); editsection.appendChild(a) editsection.appendChild(bracket_koniec); hn.appendChild(editsection); } linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection!==null){ let mw_editsection_bracket=linkstrony_editsection.querySelector('a'); if(mw_editsection_bracket!==null){ if(czy_link_nie_w_naglowku){ let a=document.createElement('a'); a.innerHTML="artykuł"; a.setAttribute("href",StronicowyParser.kodowanie.EncodeHtml("/wiki/"+StronicowyParser.kodowanie.EncodeHtml(link_strona,false,true))); a.setAttribute("title","Zobacz artykuł: "+link_strona); let span=document.createElement('span'); span.innerHTML="| "; span.setAttribute('class',"mw-editsection-bracket") let czy_ma=$(mw_editsection_bracket).parent().hasClass('link'); if(czy_ma){ let rodzic_mw_editsection_bracket=mw_editsection_bracket.parentNode; let span2=linkstrony_editsection.insertBefore(span, rodzic_mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); }else{ let span2=linkstrony_editsection.insertBefore(span, mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); } } } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(linkstrony_editsection).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); } for (let i=0;i<liczba_elementow;++i){ let tagclassname=tagclass[i]; let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find("."+rozdzial_ksiazki); function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==tagclassname){ return true; } } return false; } if(CzyOdrzucic()){continue;} if(tagclassname.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let class_element=tagclassname.getElementsByClassName('strona_subst'); let element; if((class_element!==null)&&(class_element.length==1)){ element=class_element[0]; if(element.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let czy_link_nie_w_naglowku; let strona_headline=tagclassname.getElementsByClassName('mw-headline'); let link_strona; if((strona_headline!==null)&&(strona_headline.length==1)){ strona_a=strona_headline[0].getElementsByTagName('a'); if((strona_a!==null)&&(strona_a.length==1)){ link_strona=StronicowyParser.kodowanie.DecodeHtml(strona_a[0].getAttribute('href')); if(link_strona!==null){ let re=/\/wiki\//g; if(re.test(link_strona)){ link_strona=link_strona.substring(6,link_strona.length); czy_link_nie_w_naglowku=false; }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } } }else{ link_strona=StronicowyParser.style.UsunStyle(element.innerHTML); czy_link_nie_w_naglowku=true; } } let re = /^[_\s]*$/g; let dopasowanie = re.test(link_strona); if(dopasowanie){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return; }; link_strona=link_strona.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ").replace(/&amp;/g,"&").replace(/&nbsp;/g," "); let hash=link_strona.replace(/^([^#]*)#(.*)$/,"$2").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); /**/ let hn=strona_headline[0].parentNode; if((hn===null)||(!hn.tagName.toUpperCase().match(/^H\d+$/g))){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} tab_section[i]=new Array(hn,link_strona,czy_link_nie_w_naglowku); let strona=link_strona.match(/^[^#]*/g).toString(); async function PraceIteracyjne(tab_promise2){ await StronicowyParser.muteks.zablokuj(); if(/#/g.test(link_strona)){ let hash=link_strona.replace(/^([^#]*)#(.*)$/g,"$2"); if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let numer=hn.innerHTML; numer=parseInt(numer); if(isNaN(numer)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return ;} let tab_c=tab_section[c]; edit_action(numer,tab_c[1].match(/^[^#]*/g).toString(),tab_c[0],tab_c[1],tab_c[2]); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami){ if(!stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); }else{ let uzupelniaj_sekcje_artykulow; if(stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule){ uzupelniaj_sekcje_artykulow="tak"; }else{ uzupelniaj_sekcje_artykulow=""; } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+link_strona+"|analiza=tak|uzupełniaj sekcje artykułów="+uzupelniaj_sekcje_artykulow+"|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; let a=headline.getElementsByTagName('a'); if((a!==null)&&(a.length>0)){ a[0].setAttribute('title',stare); } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } }else{ edit_action(0,strona,hn,link_strona,czy_link_nie_w_naglowku); if(stronasubst_aktualizowanie_nazw_artykulow){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+strona+"|analiza=tak|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceIteracyjne(tab_promise2).then((result) => {}).catch((error) => {}); },1000); /**/ tabs[i]=link_strona; let czy=false; for(let d in titles){ if(titles[d]==link_strona){ czy=true; break; } } if(!czy){ titles[titles.length]=link_strona; } if(tabstrona[link_strona]==null){ tabstrona[link_strona]=new Array(); } let tab=tabstrona[link_strona]; let tablen=tab.length; tabstrona[link_strona][tablen]=element; } async function PraceNaglowki(tab_promise2){ await StronicowyParser.muteks.zablokuj(); let promise; if(element_strony==document){ let namespace=StronicowyParser.pageinfo.namespace; let strona_podrecznika=((namespace!="")?(namespace+":"):"")+StronicowyParser.pageinfo.bookname; promise=Promise.resolve(strona_podrecznika); }else{ let zaan=$(element_strony).parents('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((zaan!==null)&&(zaan.length>0)){ let strona=zaan[0].getAttribute('nazwa_strony'); if(strona){ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](strona); }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } } if(tab_promise2){tab_promise2.push(true);} promise.then(async (strona_podrecznika)=>{ await StronicowyParser.muteks.zablokuj(); let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find(".klasa_nagłówka"); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)){ let g=0; let tab_naglowka=new Array(); let tab_hn=new Array(); for(let z=0;z<klasa_naglowka.length;++z){ let pojedyncza_klasa_naglowka=klasa_naglowka[z]; function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==pojedyncza_klasa_naglowka){ return true; } } return false; } if(CzyOdrzucic()){continue;} let dana_klasa_naglowka=pojedyncza_klasa_naglowka.querySelector('.mw-headline'); if(dana_klasa_naglowka!==null){ if((dana_klasa_naglowka.parentNode!==null)&&(dana_klasa_naglowka.parentNode.tagName.toUpperCase().match(/^[Hh]\d+$/g)) &&(dana_klasa_naglowka.parentNode.parentNode!=null)&&(dana_klasa_naglowka.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&($(dana_klasa_naglowka.parentNode.parentNode).hasClass('klasa_nagłówka'))){ let naglowek=StronicowyParser.style.UsunStyle(dana_klasa_naglowka.innerHTML).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); let ww=1; for(let x=0;x<tab_naglowka.length;++x){ if(tab_naglowka[x]==naglowek){ ++ww; } } naglowek=naglowek+((ww>1)?ww:""); tab_naglowka[g]=naglowek; tab_hn[g]=dana_klasa_naglowka.parentNode; if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, na stronie głównej podręcznika, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let nazwa_podrecznika=strona_podrecznika.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") let naglowek_sekcji_podrecznika=tab_naglowka[c].replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") edit_action(c+1,nazwa_podrecznika,tab_hn[c],nazwa_podrecznika+"#"+naglowek_sekcji_podrecznika,true); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();return;} let headline=tab_hn[c].querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } ++g; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceNaglowki(tab_promise2).then((result) => {}).catch((error) => {}); },1000); function RozwazajNaglowki(){ let toc_fun=new StronicowyParser.ListaNodeTOC(); if((toc_fun.toc!==null)&&(toc_fun.toc.length>0)){ for(let w=0;w<toc_fun.toc.length;++w){ let czy_side_bar_toc=toc_fun.CzySideBarToc(toc_fun.toc[w]); let ile_jest=0; let li=toc_fun.toc[w].getElementsByTagName('li'); if((li!==null)&&(li.length>0)){ for(let dd=0;dd<li.length;++dd){ let element_li=li[dd]; let tocnumber;let toctext_wartosc; if(czy_side_bar_toc){ tocnumber=element_li.querySelector('.sidebar-toc-numb'); if(!tocnumber){continue;} toctext_wartosc=element_li.querySelector('.sidebar-toc-text').innerHTML.replace(new RegExp(StronicowyParser.wzor.BezZnakowSpecjalnych(tocnumber.outerHTML),"g"),""); }else{ tocnumber=element_li.querySelector('.tocnumber'); toctext_wartosc=element_li.querySelector('.toctext').innerHTML; } if((tocnumber!==null)&&(toctext_wartosc!==null)){ let czy_jest=undefined; let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)&&(klasa_naglowka[ile_jest]!=null)){ let element_klasa_naglowka=klasa_naglowka[ile_jest]; let headline=element_klasa_naglowka.querySelector('.mw-headline'); if((headline!==null) &&(headline.parentNode!==null) &&(headline.parentNode.tagName.toUpperCase().match(/^H\d+$/)) &&(headline.parentNode.parentNode!==null) &&(headline.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&(headline.parentNode.parentNode===element_klasa_naglowka) ){ let element_a; if(czy_side_bar_toc){ element_a=tocnumber.parentNode.parentNode; }else{ element_a=tocnumber.parentNode; } if(element_a.tagName.toUpperCase()=="A"){ let href=StronicowyParser.kodowanie.DecodeHtml(element_a.getAttribute('href')); if(href!==null){ href=href.replace(/^#/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); let id_headline=headline.getAttribute('id'); if(id_headline!==null){ id_headline=id_headline.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); if(href!=id_headline){czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} if(czy_jest===undefined){ile_jest+=1;} if((czy_jest===undefined)||(!czy_jest)){ let element_toctext=StronicowyParser.style.UsunStyle(toctext_wartosc).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," "); if(stronasubst_tablica_rozdzialow[element_toctext]==null){ stronasubst_tablica_rozdzialow[element_toctext]=new Array(tocnumber); }else{ stronasubst_tablica_rozdzialow[element_toctext].push(tocnumber); } } } } } } } } StronicowyParser.LimitTOC(true,stronasubst_ukrywaj_toc); if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],true,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(StronicowyParser.CzyWlaczycSideBarTOC(undefined,true))){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } RozwazajNaglowki(); if(stronasubst_mathml){ $("div.toc ul > li > a > span.toctext").toggleClass("mathml"); $("div.toc_spis ul > li > a > span.toctext").toggleClass("mathml"); $("div.mw-table-of-contents-container > nav.sidebar-toc ul > li > a > div.sidebar-toc-text").toggleClass("mathml"); } function Strona(strona){ let strona_re=StronicowyParser.wzor.BezZnakowSpecjalnych(strona); let re=new RegExp("^\\s*"+strona_re+"\\s*#","g"); return re; } function CzyArtykulyZNaglowkamiDlaStrony(re){ for(let s in titles){ let czy_hash=titles[s].match(re); if(czy_hash){ return true; } } return false; } let catlinks_fun=new StronicowyParser.LinkiKategorii(); await catlinks_fun.PobierzKategorieStrony(); for ( let t in titles ) { let strona=titles[t].match(/^[^#]*/g).toString(); let szablon_artykulu; let re_strona=Strona(strona); let czy_naglowki=CzyArtykulyZNaglowkamiDlaStrony(re_strona); if(!czy_naglowki){ szablon_artykulu="{{:"+strona+"}}"; }else{ /*---------------------------------*/ let rozdzial1=null; let re=/^([^#]*)#(.*)$/g; if(re.test(titles[t])){ rozdzial1=titles[t].replace(re,"$2"); rozdzial1=rozdzial1.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial1="";} let rozdzial2=null; let tit=titles[parseInt(t)+1]; if( tit && re.test(tit) && re_strona.test(tit)){ rozdzial2=tit.replace(re,"$2"); rozdzial2=rozdzial2.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial2="";} /*---------------------------*/ szablon_artykulu="{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|TekstRozdziałuStrony|"+strona+"|"+rozdzial1+"|"+rozdzial2+"}}}}"; } szablon_artykulu="{{PrzytnijTekst|"+szablon_artykulu+"}}"; if(stronasubst_opakuj_kategorie_ze_sortowaniem){ szablon_artykulu="{{OpakujKategorieZeSortowaniem|"+szablon_artykulu+"}}" } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text|categories', title: strona, text: "<div class=\"hn hn_"+t+"\">\n"+szablon_artykulu+"\n</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); catlinks_fun.AnalizaKategorii(data).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);} WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2).then((result) => {}).catch((error) => {}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function CzyszczenieZZdarzeńTableOfContent(){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } } } CzyszczenieZZdarzeńTableOfContent(); let tab_promise2=new StronicowyParser.SugerowaneObiekty(); async function CzyStronaSubst(element,aktualna_strona,tab_promise2){ if(tab_promise2){tab_promise2.push(true);} await StronicowyParser.muteks.zablokuj(); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronaSubst}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.expandtemplates.wikitext; if((wikikod!==null)&&(aktualna_strona!==null)){ if(tab_promise2){tab_promise2.push(true);} StronaSubst(element,wikikod,aktualna_strona,tab_promise2).then((result) => {}).catch((error) => {}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } let aktualna_strona=StronicowyParser.pageinfo.fullname; if(tab_promise2){tab_promise2.push(true,true);} CzyStronaSubst(document,aktualna_strona,tab_promise2); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} function Progress(){ var c=document.createElement('div'); c.setAttribute("id","pasek_postępu") c.setAttribute('style','line-height:1.2em;margin-top:-2px;margin-left:-2px;position:absolute;width:250px;height:80px;border:1px solid black;box-sizing:border-box;padding:5px;background-color:white;display:flex;flex-direction:column;box-sizing:border-box;'); var label=document.createElement('label'); label.setAttribute('for','file1'); label.innerHTML="<span style=\"color:blue;\">Ukończone wątki: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_0=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file1') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;'); progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_1=c.appendChild(progress); var label=document.createElement('label'); label.setAttribute('for','file2'); label.innerHTML="<span style=\"color:blue;\">Zwolnione blokaty: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_1=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file2') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;') progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_2=c.appendChild(progress); function PozycjaXY(){ c.style.top=(window.scrollY+document.documentElement.clientHeight-parseFloat(c.style.height))+"px"; c.style.left=(window.scrollX+document.documentElement.clientWidth-parseFloat(c.style.width))+"px"; } document.querySelector('body').appendChild(c); PozycjaXY(); $(window).on('scroll',PozycjaXY); $(window).on('resize',PozycjaXY); return new Array(element_body_progress_1,element_body_progress_2,span_0,span_1); } var arr; function __FUNKCJA(arr){ arr[0].setAttribute("value","0"); arr[1].setAttribute("value","0"); let dodatnie_0=tab_promise2.lengthPlus; let ujemne_0=tab_promise2.lengthMinus; let dodatnie_1=StronicowyParser.muteks.LiczbaBlokatPlus; let ujemne_1=StronicowyParser.muteks.LiczbaBlokatMinus; let postep_0=((dodatnie_0>0)?((ujemne_0/dodatnie_0)*100):0); let postep_1=((dodatnie_1>0)?((ujemne_1/dodatnie_1)*100):0); arr[0].setAttribute("value",postep_0); arr[1].setAttribute("value",postep_1); arr[2].innerHTML=(parseInt(postep_0*1000)/1000)+"%"; arr[3].innerHTML=(parseInt(postep_1*1000)/1000)+"%"; } StronicowyParser.CzekajNaZakaczenie(tab_promise2,null,StronicowyParser.muteks,(tab_promise)=>{arr=Progress();__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);setTimeout(function(){let node_postep=document.getElementById('pasek_postępu');$(node_postep).remove();},2000);}).then(async (result) => {}).catch(()=>{}); }; StronicowyParser.WyswietlStronyKsiazki().then((result) => {}).catch((error) => {}); }); sg7axcyit7n50m74fbamy0k0zoy9hib 437329 437328 2022-08-09T17:40:31Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.WyswietlStronyKsiazki=async function(){ await StronicowyParser.muteks.zablokuj(); let stronasubst_latex=undefined; let stronasubst_mathml=undefined; let stronasubst_opakuj_kategorie_ze_sortowaniem=undefined; let stronasubst_ukrywaj_toc=undefined; let stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=undefined; let stronasubst_aktualizowanie_nazw_artykulow=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=undefined; let stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=undefined; let stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=undefined; let stronasubst_nie_usuwaj_styli=undefined; let stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'StronaSubst-name': 'Strona zbiorcza', 'StronaSubst-description-page': 'Wikibooks:StronicowyParser/StronaSubst', 'StronaSubst-latex': 'Zamiast wzorów, wstaw tekst latexowy, w przeciwnym przypadku jest w formie LaTeX.', 'StronaSubst-mathml': 'Zamiast wzorów latexowych, wstaw je w formie znaczników MathML.', 'StronaSubst-opakuj_kategorie_ze_sortowaniem' : 'W stronach zbiorczych opakowuje kategorie, w postaci ramki, dla każdego artykułu z osobna.', 'StronaSubst-ukrywaj_toc' : "Ukrywa, począwszy od jakiegoś poziomu wszystkich tam spisów treści, na stronach zbiorczych.", 'StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach' : "Włącza dymki, nad linkami, w ładowanych dynamicznie stronach, tworząc je inteligentnymi.", 'StronaSubst-aktualizowanie_nazw_artykulow' : 'Aktualizuje na podstawie strony głównej nazwy tylko artykułów.', 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami' : "Aktualizuje sekcje poszczegónych rozdziałów artykułów ładowanych rozdziałami, domyślnie według sekcji w tych jednostkach.", 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika' : 'Aktualizuje, sekcje artykułów ładowanych rozdziałami, na podstawie strony głównej książki, a nie jego artykułów.', 'StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej' : 'Aktualizuje nagłówki strony głównej podręcznika na stronie zbiorczej.', 'StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule' : 'Aktualizuje, brakujące sekcje rozdziałów ładowanych rozdziałami artykułów, według wpisów na stronie głównej, na stronie zbiorczej.', 'StronaSubst-nie_usuwaj_styli' : 'Nie usuwa styli z nagłówków ładowanych stron.', 'StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst' : 'Rozwijaj szablony oznaczone szablonem SzablonSubst.', }); gConfig.register('StronaSubst', {name: mw.msg('StronaSubst-name'), descriptionPage: mw.msg('StronaSubst-description-page')}, [ { name: 'latex', desc: mw.msg('StronaSubst-latex'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_latex'] }, { name: 'mathml', desc: mw.msg('StronaSubst-mathml'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_mathml'] }, { name: 'opakuj_kategorie_ze_sortowaniem', desc: mw.msg('StronaSubst-opakuj_kategorie_ze_sortowaniem'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_opakuj_kategorie_ze_sortowaniem'] }, { name: 'ukrywaj_toc', desc: mw.msg('StronaSubst-ukrywaj_toc'), type: 'integer', deflt: 0, validation: function(n){ if((n<0)||(n==1)){ throw 'Wartość dotycząca poziomu ukrywania spisów treści jest nieprawidłowa!' }; return n; }, legacy: [window, 'wb_stronasubst_ukrywaj_toc'] }, { name: 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach', desc: mw.msg('StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'] }, { name: 'aktualizowanie_nazw_artykulow', desc: mw.msg('StronaSubst-aktualizowanie_nazw_artykulow'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nazw_artykulow'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'] }, { name: 'aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej', desc: mw.msg('StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'] }, { name: 'aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule', desc: mw.msg('StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'] }, { name: 'nie_usuwaj_styli', desc: mw.msg('StronaSubst-nie_usuwaj_styli'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_nie_usuwaj_styli'] }, { name: 'rozwijaj_szablony_oznaczone_szablonem_szablonsubst', desc: mw.msg('StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst'] }, ]); stronasubst_latex = (gConfig.get('StronaSubst', 'latex')==true); stronasubst_mathml = (((gConfig.get('StronaSubst', 'mathml'))&&(!stronasubst_latex))==true); stronasubst_opakuj_kategorie_ze_sortowaniem = (gConfig.get('StronaSubst', 'opakuj_kategorie_ze_sortowaniem')==true); stronasubst_ukrywaj_toc = gConfig.get('StronaSubst', 'ukrywaj_toc'); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach = gConfig.get('StronaSubst', 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'); stronasubst_aktualizowanie_nazw_artykulow = (gConfig.get('StronaSubst', 'aktualizowanie_nazw_artykulow')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami = (gConfig.get('StronaSubst', 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika = (gConfig.get('StronaSubst','aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika')==true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej = (gConfig.get('StronaSubst','aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej')==true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule = (gConfig.get('StronaSubst','aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule')==true); stronasubst_nie_usuwaj_styli = (gConfig.get('StronaSubst','nie_usuwaj_styli')==true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst = (gConfig.get('StronaSubst','rozwijaj_szablony_oznaczone_szablonem_szablonsubst')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} let stronasubst_tablica_tych_samych=new Array(); let stronasubst_tablica_rozdzialow=new Array(); let stronasubst_tablica_alternatywnych_nazw=new Array(); stronasubst_latex=((stronasubst_latex!==undefined)?stronasubst_latex:false); stronasubst_mathml=((stronasubst_mathml!==undefined)?stronasubst_mathml:true); stronasubst_opakuj_kategorie_ze_sortowaniem=((stronasubst_opakuj_kategorie_ze_sortowaniem!==undefined)?stronasubst_opakuj_kategorie_ze_sortowaniem:false); stronasubst_ukrywaj_toc=parseInt(((stronasubst_ukrywaj_toc!==undefined)?stronasubst_ukrywaj_toc:0)); stronasubst_ukrywaj_toc=((!isNaN(stronasubst_ukrywaj_toc))?stronasubst_ukrywaj_toc:0); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=((stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach!==undefined)?stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach:true); stronasubst_aktualizowanie_nazw_artykulow=((stronasubst_aktualizowanie_nazw_artykulow!==undefined)?stronasubst_aktualizowanie_nazw_artykulow:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika:true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=((stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej!==undefined)?stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej:true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=((stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule!==undefined)?stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule:true); stronasubst_nie_usuwaj_styli=((stronasubst_nie_usuwaj_styli!==undefined)?stronasubst_nie_usuwaj_styli:true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=((stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst!==undefined)?stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst:true); async function AnalizujDalejSzablonSubst(element_strony,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let rozdzial_ksiazki="rozdział_książki"; let el=$(element_strony).find('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((el!==null)&&(el.length>0)){ for(let i=0;i<el.length;++i){ let element_el=el[i]; let ksiazka=element_el.querySelector("."+rozdzial_ksiazki); if(ksiazka){ let nazwa_strony=element_el.getAttribute('nazwa_strony'); if(tab_promise2){tab_promise2.push(true);} CzyStronaSubst(element_el,nazwa_strony,tab_promise2); } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } async function WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let title=data.parse.title; let wikikod=data.parse.text['*']; let strona_hash; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let t=tab_uzyskane[0]; if(t==undefined){ console.log("Nie wykryto znacznika lsth_\d+."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } strona_hash=titles[t]; let selflink=document.createElement('div'); selflink.innerHTML=wikikod; let czy_selflink=selflink.getElementsByClassName('selflink'); if((czy_selflink!==null)&&(czy_selflink.length==1)){ let elements=tabstrona[strona_hash]; let a=document.createElement('a');/*Tworzenie linku*/ a.setAttribute('href',StronicowyParser.kodowanie.EncodeHtml(title)); a.innerHTML=strona_hash; let span=document.createElement('span'); span.appendChild(a); span.setAttribute("class","niw link");/*Dodawanie klasy, by inny skript JS to przeanalizował jako link*/ if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo(span); } for(let q in elements){ let element=elements[q]; element.innerHTML=""; element.appendChild(span); $(element).wrap(function(){return "<strong></strong>";}); let przed=document.createTextNode("{{:"); let po=document.createTextNode("}}"); element.insertBefore(przed,element.firstChild); element.appendChild(po); element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=tab_uzyskane[1].innerHTML; let elements=tabstrona[strona_hash]; for(let q in elements){ let element=elements[q]; element.innerHTML=wikikod; StronicowyParser.ZamienLinkiNaLinkiDoStronyAktualnej(element,title,titles); } StronicowyParser.AktualizujSpisTresciModuluStrony(elements,tabs,strona_hash,stronasubst_tablica_alternatywnych_nazw,stronasubst_tablica_tych_samych,stronasubst_tablica_rozdzialow,true,stronasubst_latex,stronasubst_mathml) let strona_start=$(elements[0]).parents(".strona_start"); let rodzic=undefined; if((strona_start!==null)&&(strona_start.length>0)){ rodzic=strona_start[0]; } StronicowyParser.IndeksujHeadLine(rodzic); StronicowyParser.PrzeIndeksujWszystkieTOC(rodzic,true); for(let q in elements){ let element=elements[q]; async function ElementDalszychObliczen(element,tab_promise2){ await StronicowyParser.muteks.zablokuj(true); StronicowyParser.PoprawRozdzialyStron(element); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu(element,tab_promise2);//Funkcja jako gadżet do numerowania rozdziałów. } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element,tab_promise2); } if((StronicowyParser.szablony&&StronicowyParser.szablony.LadujSzablon)&&(stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst)){ let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(element,title,titles,undefined,tab_promise).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(()=>{ if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(element); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} ElementDalszychObliczen(element,tab_promise2); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function ToogleTableOfContainer(panel){ let id=panel.target; let tagname=id.tagName.toUpperCase(); //console.log(czy_klasa,tagname,"TYTAN)"; if(tagname=="BUTTON"){ let czy_klasa_1=$(id).hasClass('sidebar-toc-toggle'); let czy_klasa_2=$(id).hasClass('vector-toc-collapse-button'); if(czy_klasa_1){ $(id).parent().children().last().each((i,element)=>{ let expanded=$(id).attr('aria-expanded'); if(expanded=="false"){ $(element).css('display',"block"); $(element).closest('li').addClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','true'); }else if(expanded=="true"){ $(element).css('display',"none"); $(element).closest('li').removeClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','false'); } }); }else if(czy_klasa_2){ $(id).parents('#sidebar-toc-label').siblings('ul').each((i,element)=>{ let ukryj=$(element).css('display'); if(ukryj!="none"){ $(element).css('display',"none"); id.innerHTML=" pokaż "; }else{ $(element).css('display',"block"); id.innerHTML=" ukryj " } }); } } } let mutekstoogle=new StronicowyParser.Muteks(); async function ScrollTableOfContainer(){ await mutekstoogle.zablokuj(); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').first().each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky.height-15; }); let parser=document.querySelector('#mw-content-text .mw-parser-output'); if(parser){ let rect=parser.getBoundingClientRect(); if(rect.top>=height_sticky){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item').first().addClass('sidebar-toc-list-item-active'); mutekstoogle.odblokuj(); return; } }else{ mutekstoogle.odblokuj(); return; } var str=$('#mw-content-text .mw-parser-output').find('h1, h2, h3, h4, h5, h6'); if((str!==null)&&(str.length>0)){ var naglowek; for(i=0;i<str.length;++i){ let element=str[i]; let rect=element.getBoundingClientRect(); if(rect.top>=height_sticky){ let mw_naglowek=element.querySelector('.mw-headline'); if(mw_naglowek){ let id_naglowek=mw_naglowek.getAttribute('id'); let tak=false; $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+id_naglowek){ let display=window.getComputedStyle(element, null).getPropertyValue('display'); if(display!="none"){ tak=true; } } }); if(tak){ naglowek=id_naglowek; break; } } } } if(naglowek){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+naglowek){ $(element).addClass('sidebar-toc-list-item-active'); } }); } } mutekstoogle.odblokuj(); } async function StronaSubst(element_strony,wikikod,aktualna_strona,tab_promise2){ await StronicowyParser.muteks.zablokuj(); StronicowyParser.NaprawNaglowkiStrony(element_strony,true); let czy_wikikod=wikikod.match(/^[_\s]*$/g); let strona_start=$('#mw-content-text .mw-parser-output .strona_start'); function CzyWszystkieNaglowkiWewnatrzStronaStart(){ let pole=$('#mw-content-text .mw-parser-output').find('h1,h2,h3,h4,h5,h6'); for(let i=0;i<pole.length;++i){ let s=strona_start.find(pole[i]); if((s===null)||(s.length==0)){ return false; } } return true; } if(czy_wikikod){ StronicowyParser.muteks.odblokuj(); let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyArtykulu)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyArtykulu(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } let czy_numerowac=StronicowyParser.CzyWlaczycSideBarTOC(undefined,true); if(czy_numerowac){ czy_numerowac=false; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: StronicowyParser.pageinfo.fullname, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+StronicowyParser.pageinfo.fullname+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ czy_numerowac=true; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ let tab_promise=new Array(true); StronicowyParser.LimitTOC(czy_numerowac,stronasubst_ukrywaj_toc); StronicowyParser.szablony.LadujSzablon(null,null,null,czy_numerowac,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true) StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],czy_numerowac,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(czy_numerowac)){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} return; } let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(null,null,null,undefined,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async (result) => { let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } await StronicowyParser.CzekajNaZakaczenie(tab_promise).then(async (result) => {}).catch(()=>{}); await StronicowyParser.muteks.zablokuj(); if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); let rozdzial_ksiazki="rozdział_książki"; let tagclass=element_strony.getElementsByClassName(rozdzial_ksiazki); if(tagclass===null){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return null; } let liczba_elementow=tagclass.length; if(liczba_elementow==0){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return null; } let titles=new Array(); let tabstrona=new Array(); let tabs=new Array(); let tab_section=new Array(); if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element_strony,tab_promise2); } let tab_hn=new Array(); async function edit_action(numer,strona,hn,link_strona,czy_link_nie_w_naglowku){ await StronicowyParser.muteks.zablokuj(); let linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection===null){ let editsection=document.createElement('span'); editsection.classList.add('mw-editsection'); let bracket_poczatek=document.createElement('span'); bracket_poczatek.classList.add('mw-editsection-bracket') bracket_poczatek.innerHTML="["; let a=document.createElement('a'); a.setAttribute('href',"/w/index.php?title="+StronicowyParser.kodowanie.EncodeHtml(strona,false,true)+"&action=edit"+((numer>0)?("&section="+numer):"")); a.setAttribute('title',"Edytuj artykuł: "+link_strona); a.innerHTML="edytuj"; let bracket_koniec=document.createElement('span'); bracket_koniec.classList.add('mw-editsection-bracket') bracket_koniec.innerHTML="]"; editsection.appendChild(bracket_poczatek); editsection.appendChild(a) editsection.appendChild(bracket_koniec); hn.appendChild(editsection); } linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection!==null){ let mw_editsection_bracket=linkstrony_editsection.querySelector('a'); if(mw_editsection_bracket!==null){ if(czy_link_nie_w_naglowku){ let a=document.createElement('a'); a.innerHTML="artykuł"; a.setAttribute("href",StronicowyParser.kodowanie.EncodeHtml("/wiki/"+StronicowyParser.kodowanie.EncodeHtml(link_strona,false,true))); a.setAttribute("title","Zobacz artykuł: "+link_strona); let span=document.createElement('span'); span.innerHTML="| "; span.setAttribute('class',"mw-editsection-bracket") let czy_ma=$(mw_editsection_bracket).parent().hasClass('link'); if(czy_ma){ let rodzic_mw_editsection_bracket=mw_editsection_bracket.parentNode; let span2=linkstrony_editsection.insertBefore(span, rodzic_mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); }else{ let span2=linkstrony_editsection.insertBefore(span, mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); } } } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(linkstrony_editsection).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); } for (let i=0;i<liczba_elementow;++i){ let tagclassname=tagclass[i]; let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find("."+rozdzial_ksiazki); function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==tagclassname){ return true; } } return false; } if(CzyOdrzucic()){continue;} if(tagclassname.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let class_element=tagclassname.getElementsByClassName('strona_subst'); let element; if((class_element!==null)&&(class_element.length==1)){ element=class_element[0]; if(element.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let czy_link_nie_w_naglowku; let strona_headline=tagclassname.getElementsByClassName('mw-headline'); let link_strona; if((strona_headline!==null)&&(strona_headline.length==1)){ strona_a=strona_headline[0].getElementsByTagName('a'); if((strona_a!==null)&&(strona_a.length==1)){ link_strona=StronicowyParser.kodowanie.DecodeHtml(strona_a[0].getAttribute('href')); if(link_strona!==null){ let re=/\/wiki\//g; if(re.test(link_strona)){ link_strona=link_strona.substring(6,link_strona.length); czy_link_nie_w_naglowku=false; }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } } }else{ link_strona=StronicowyParser.style.UsunStyle(element.innerHTML); czy_link_nie_w_naglowku=true; } } let re = /^[_\s]*$/g; let dopasowanie = re.test(link_strona); if(dopasowanie){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return; }; link_strona=link_strona.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ").replace(/&amp;/g,"&").replace(/&nbsp;/g," "); let hash=link_strona.replace(/^([^#]*)#(.*)$/,"$2").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); /**/ let hn=strona_headline[0].parentNode; if((hn===null)||(!hn.tagName.toUpperCase().match(/^H\d+$/g))){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} tab_section[i]=new Array(hn,link_strona,czy_link_nie_w_naglowku); let strona=link_strona.match(/^[^#]*/g).toString(); async function PraceIteracyjne(tab_promise2){ await StronicowyParser.muteks.zablokuj(); if(/#/g.test(link_strona)){ let hash=link_strona.replace(/^([^#]*)#(.*)$/g,"$2"); if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let numer=hn.innerHTML; numer=parseInt(numer); if(isNaN(numer)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return ;} let tab_c=tab_section[c]; edit_action(numer,tab_c[1].match(/^[^#]*/g).toString(),tab_c[0],tab_c[1],tab_c[2]); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami){ if(!stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); }else{ let uzupelniaj_sekcje_artykulow; if(stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule){ uzupelniaj_sekcje_artykulow="tak"; }else{ uzupelniaj_sekcje_artykulow=""; } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+link_strona+"|analiza=tak|uzupełniaj sekcje artykułów="+uzupelniaj_sekcje_artykulow+"|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; let a=headline.getElementsByTagName('a'); if((a!==null)&&(a.length>0)){ a[0].setAttribute('title',stare); } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } }else{ edit_action(0,strona,hn,link_strona,czy_link_nie_w_naglowku); if(stronasubst_aktualizowanie_nazw_artykulow){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+strona+"|analiza=tak|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceIteracyjne(tab_promise2).then((result) => {}).catch((error) => {}); },1000); /**/ tabs[i]=link_strona; let czy=false; for(let d in titles){ if(titles[d]==link_strona){ czy=true; break; } } if(!czy){ titles[titles.length]=link_strona; } if(tabstrona[link_strona]==null){ tabstrona[link_strona]=new Array(); } let tab=tabstrona[link_strona]; let tablen=tab.length; tabstrona[link_strona][tablen]=element; } async function PraceNaglowki(tab_promise2){ await StronicowyParser.muteks.zablokuj(); let promise; if(element_strony==document){ let namespace=StronicowyParser.pageinfo.namespace; let strona_podrecznika=((namespace!="")?(namespace+":"):"")+StronicowyParser.pageinfo.bookname; promise=Promise.resolve(strona_podrecznika); }else{ let zaan=$(element_strony).parents('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((zaan!==null)&&(zaan.length>0)){ let strona=zaan[0].getAttribute('nazwa_strony'); if(strona){ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](strona); }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } } if(tab_promise2){tab_promise2.push(true);} promise.then(async (strona_podrecznika)=>{ await StronicowyParser.muteks.zablokuj(); let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find(".klasa_nagłówka"); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)){ let g=0; let tab_naglowka=new Array(); let tab_hn=new Array(); for(let z=0;z<klasa_naglowka.length;++z){ let pojedyncza_klasa_naglowka=klasa_naglowka[z]; function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==pojedyncza_klasa_naglowka){ return true; } } return false; } if(CzyOdrzucic()){continue;} let dana_klasa_naglowka=pojedyncza_klasa_naglowka.querySelector('.mw-headline'); if(dana_klasa_naglowka!==null){ if((dana_klasa_naglowka.parentNode!==null)&&(dana_klasa_naglowka.parentNode.tagName.toUpperCase().match(/^[Hh]\d+$/g)) &&(dana_klasa_naglowka.parentNode.parentNode!=null)&&(dana_klasa_naglowka.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&($(dana_klasa_naglowka.parentNode.parentNode).hasClass('klasa_nagłówka'))){ let naglowek=StronicowyParser.style.UsunStyle(dana_klasa_naglowka.innerHTML).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); let ww=1; for(let x=0;x<tab_naglowka.length;++x){ if(tab_naglowka[x]==naglowek){ ++ww; } } naglowek=naglowek+((ww>1)?ww:""); tab_naglowka[g]=naglowek; tab_hn[g]=dana_klasa_naglowka.parentNode; if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, na stronie głównej podręcznika, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let nazwa_podrecznika=strona_podrecznika.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") let naglowek_sekcji_podrecznika=tab_naglowka[c].replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") edit_action(c+1,nazwa_podrecznika,tab_hn[c],nazwa_podrecznika+"#"+naglowek_sekcji_podrecznika,true); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();return;} let headline=tab_hn[c].querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } ++g; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceNaglowki(tab_promise2).then((result) => {}).catch((error) => {}); },1000); function RozwazajNaglowki(){ let toc_fun=new StronicowyParser.ListaNodeTOC(); if((toc_fun.toc!==null)&&(toc_fun.toc.length>0)){ for(let w=0;w<toc_fun.toc.length;++w){ let czy_side_bar_toc=toc_fun.CzySideBarToc(toc_fun.toc[w]); let ile_jest=0; let li=toc_fun.toc[w].getElementsByTagName('li'); if((li!==null)&&(li.length>0)){ for(let dd=0;dd<li.length;++dd){ let element_li=li[dd]; let tocnumber;let toctext_wartosc; if(czy_side_bar_toc){ tocnumber=element_li.querySelector('.sidebar-toc-numb'); if(!tocnumber){continue;} toctext_wartosc=element_li.querySelector('.sidebar-toc-text').innerHTML.replace(new RegExp(StronicowyParser.wzor.BezZnakowSpecjalnych(tocnumber.outerHTML),"g"),""); }else{ tocnumber=element_li.querySelector('.tocnumber'); toctext_wartosc=element_li.querySelector('.toctext').innerHTML; } if((tocnumber!==null)&&(toctext_wartosc!==null)){ let czy_jest=undefined; let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)&&(klasa_naglowka[ile_jest]!=null)){ let element_klasa_naglowka=klasa_naglowka[ile_jest]; let headline=element_klasa_naglowka.querySelector('.mw-headline'); if((headline!==null) &&(headline.parentNode!==null) &&(headline.parentNode.tagName.toUpperCase().match(/^H\d+$/)) &&(headline.parentNode.parentNode!==null) &&(headline.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&(headline.parentNode.parentNode===element_klasa_naglowka) ){ let element_a; if(czy_side_bar_toc){ element_a=tocnumber.parentNode.parentNode; }else{ element_a=tocnumber.parentNode; } if(element_a.tagName.toUpperCase()=="A"){ let href=StronicowyParser.kodowanie.DecodeHtml(element_a.getAttribute('href')); if(href!==null){ href=href.replace(/^#/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); let id_headline=headline.getAttribute('id'); if(id_headline!==null){ id_headline=id_headline.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); if(href!=id_headline){czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} if(czy_jest===undefined){ile_jest+=1;} if((czy_jest===undefined)||(!czy_jest)){ let element_toctext=StronicowyParser.style.UsunStyle(toctext_wartosc).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," "); if(stronasubst_tablica_rozdzialow[element_toctext]==null){ stronasubst_tablica_rozdzialow[element_toctext]=new Array(tocnumber); }else{ stronasubst_tablica_rozdzialow[element_toctext].push(tocnumber); } } } } } } } } StronicowyParser.LimitTOC(true,stronasubst_ukrywaj_toc); if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],true,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(StronicowyParser.CzyWlaczycSideBarTOC(undefined,true))){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } RozwazajNaglowki(); if(stronasubst_mathml){ $("div.toc ul > li > a > span.toctext").toggleClass("mathml"); $("div.toc_spis ul > li > a > span.toctext").toggleClass("mathml"); $("div.mw-table-of-contents-container > nav.sidebar-toc ul > li > a > div.sidebar-toc-text").toggleClass("mathml"); } function Strona(strona){ let strona_re=StronicowyParser.wzor.BezZnakowSpecjalnych(strona); let re=new RegExp("^\\s*"+strona_re+"\\s*#","g"); return re; } function CzyArtykulyZNaglowkamiDlaStrony(re){ for(let s in titles){ let czy_hash=titles[s].match(re); if(czy_hash){ return true; } } return false; } let catlinks_fun=new StronicowyParser.LinkiKategorii(); await catlinks_fun.PobierzKategorieStrony(); for ( let t in titles ) { let strona=titles[t].match(/^[^#]*/g).toString(); let szablon_artykulu; let re_strona=Strona(strona); let czy_naglowki=CzyArtykulyZNaglowkamiDlaStrony(re_strona); if(!czy_naglowki){ szablon_artykulu="{{:"+strona+"}}"; }else{ /*---------------------------------*/ let rozdzial1=null; let re=/^([^#]*)#(.*)$/g; if(re.test(titles[t])){ rozdzial1=titles[t].replace(re,"$2"); rozdzial1=rozdzial1.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial1="";} let rozdzial2=null; let tit=titles[parseInt(t)+1]; if( tit && re.test(tit) && re_strona.test(tit)){ rozdzial2=tit.replace(re,"$2"); rozdzial2=rozdzial2.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial2="";} /*---------------------------*/ szablon_artykulu="{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|TekstRozdziałuStrony|"+strona+"|"+rozdzial1+"|"+rozdzial2+"}}}}"; } szablon_artykulu="{{PrzytnijTekst|"+szablon_artykulu+"}}"; if(stronasubst_opakuj_kategorie_ze_sortowaniem){ szablon_artykulu="{{OpakujKategorieZeSortowaniem|"+szablon_artykulu+"}}" } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text|categories', title: strona, text: "<div class=\"hn hn_"+t+"\">\n"+szablon_artykulu+"\n</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); catlinks_fun.AnalizaKategorii(data).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);} WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2).then((result) => {}).catch((error) => {}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function CzyszczenieZZdarzeńTableOfContent(){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } } } CzyszczenieZZdarzeńTableOfContent(); let tab_promise2=new StronicowyParser.SugerowaneObiekty(); async function CzyStronaSubst(element,aktualna_strona,tab_promise2){ if(tab_promise2){tab_promise2.push(true);} await StronicowyParser.muteks.zablokuj(); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronaSubst}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.expandtemplates.wikitext; if((wikikod!==null)&&(aktualna_strona!==null)){ if(tab_promise2){tab_promise2.push(true);} StronaSubst(element,wikikod,aktualna_strona,tab_promise2).then((result) => {}).catch((error) => {}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } let aktualna_strona=StronicowyParser.pageinfo.fullname; if(tab_promise2){tab_promise2.push(true,true);} CzyStronaSubst(document,aktualna_strona,tab_promise2); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} function Progress(){ var c=document.createElement('div'); c.setAttribute("id","pasek_postępu") c.setAttribute('style','line-height:1.2em;margin-top:-2px;margin-left:-2px;position:absolute;width:250px;height:80px;border:1px solid black;box-sizing:border-box;padding:5px;background-color:white;display:flex;flex-direction:column;box-sizing:border-box;'); var label=document.createElement('label'); label.setAttribute('for','file1'); label.innerHTML="<span style=\"color:blue;\">Ukończone wątki: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_0=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file1') progress.setAttribute('style','margin-left:5px;width:95%;height:auto;box-sizing:border-box;'); progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_1=c.appendChild(progress); var label=document.createElement('label'); label.setAttribute('for','file2'); label.innerHTML="<span style=\"color:blue;\">Zwolnione blokaty: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_1=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file2') progress.setAttribute('style','margin-left:5px;width:95%;height:auto;box-sizing:border-box;') progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_2=c.appendChild(progress); function PozycjaXY(){ c.style.top=(window.scrollY+document.documentElement.clientHeight-parseFloat(c.style.height))+"px"; c.style.left=(window.scrollX+document.documentElement.clientWidth-parseFloat(c.style.width))+"px"; } document.querySelector('body').appendChild(c); PozycjaXY(); $(window).on('scroll',PozycjaXY); $(window).on('resize',PozycjaXY); return new Array(element_body_progress_1,element_body_progress_2,span_0,span_1); } var arr; function __FUNKCJA(arr){ arr[0].setAttribute("value","0"); arr[1].setAttribute("value","0"); let dodatnie_0=tab_promise2.lengthPlus; let ujemne_0=tab_promise2.lengthMinus; let dodatnie_1=StronicowyParser.muteks.LiczbaBlokatPlus; let ujemne_1=StronicowyParser.muteks.LiczbaBlokatMinus; let postep_0=((dodatnie_0>0)?((ujemne_0/dodatnie_0)*100):0); let postep_1=((dodatnie_1>0)?((ujemne_1/dodatnie_1)*100):0); arr[0].setAttribute("value",postep_0); arr[1].setAttribute("value",postep_1); arr[2].innerHTML=(parseInt(postep_0*1000)/1000)+"%"; arr[3].innerHTML=(parseInt(postep_1*1000)/1000)+"%"; } StronicowyParser.CzekajNaZakaczenie(tab_promise2,null,StronicowyParser.muteks,(tab_promise)=>{arr=Progress();__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);setTimeout(function(){let node_postep=document.getElementById('pasek_postępu');$(node_postep).remove();},2000);}).then(async (result) => {}).catch(()=>{}); }; StronicowyParser.WyswietlStronyKsiazki().then((result) => {}).catch((error) => {}); }); klkr7qdtf8h4sl6ovmfum2wrrgs8u3o 437330 437329 2022-08-09T17:40:59Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.WyswietlStronyKsiazki=async function(){ await StronicowyParser.muteks.zablokuj(); let stronasubst_latex=undefined; let stronasubst_mathml=undefined; let stronasubst_opakuj_kategorie_ze_sortowaniem=undefined; let stronasubst_ukrywaj_toc=undefined; let stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=undefined; let stronasubst_aktualizowanie_nazw_artykulow=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=undefined; let stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=undefined; let stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=undefined; let stronasubst_nie_usuwaj_styli=undefined; let stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'StronaSubst-name': 'Strona zbiorcza', 'StronaSubst-description-page': 'Wikibooks:StronicowyParser/StronaSubst', 'StronaSubst-latex': 'Zamiast wzorów, wstaw tekst latexowy, w przeciwnym przypadku jest w formie LaTeX.', 'StronaSubst-mathml': 'Zamiast wzorów latexowych, wstaw je w formie znaczników MathML.', 'StronaSubst-opakuj_kategorie_ze_sortowaniem' : 'W stronach zbiorczych opakowuje kategorie, w postaci ramki, dla każdego artykułu z osobna.', 'StronaSubst-ukrywaj_toc' : "Ukrywa, począwszy od jakiegoś poziomu wszystkich tam spisów treści, na stronach zbiorczych.", 'StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach' : "Włącza dymki, nad linkami, w ładowanych dynamicznie stronach, tworząc je inteligentnymi.", 'StronaSubst-aktualizowanie_nazw_artykulow' : 'Aktualizuje na podstawie strony głównej nazwy tylko artykułów.', 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami' : "Aktualizuje sekcje poszczegónych rozdziałów artykułów ładowanych rozdziałami, domyślnie według sekcji w tych jednostkach.", 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika' : 'Aktualizuje, sekcje artykułów ładowanych rozdziałami, na podstawie strony głównej książki, a nie jego artykułów.', 'StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej' : 'Aktualizuje nagłówki strony głównej podręcznika na stronie zbiorczej.', 'StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule' : 'Aktualizuje, brakujące sekcje rozdziałów ładowanych rozdziałami artykułów, według wpisów na stronie głównej, na stronie zbiorczej.', 'StronaSubst-nie_usuwaj_styli' : 'Nie usuwa styli z nagłówków ładowanych stron.', 'StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst' : 'Rozwijaj szablony oznaczone szablonem SzablonSubst.', }); gConfig.register('StronaSubst', {name: mw.msg('StronaSubst-name'), descriptionPage: mw.msg('StronaSubst-description-page')}, [ { name: 'latex', desc: mw.msg('StronaSubst-latex'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_latex'] }, { name: 'mathml', desc: mw.msg('StronaSubst-mathml'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_mathml'] }, { name: 'opakuj_kategorie_ze_sortowaniem', desc: mw.msg('StronaSubst-opakuj_kategorie_ze_sortowaniem'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_opakuj_kategorie_ze_sortowaniem'] }, { name: 'ukrywaj_toc', desc: mw.msg('StronaSubst-ukrywaj_toc'), type: 'integer', deflt: 0, validation: function(n){ if((n<0)||(n==1)){ throw 'Wartość dotycząca poziomu ukrywania spisów treści jest nieprawidłowa!' }; return n; }, legacy: [window, 'wb_stronasubst_ukrywaj_toc'] }, { name: 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach', desc: mw.msg('StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'] }, { name: 'aktualizowanie_nazw_artykulow', desc: mw.msg('StronaSubst-aktualizowanie_nazw_artykulow'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nazw_artykulow'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'] }, { name: 'aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej', desc: mw.msg('StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'] }, { name: 'aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule', desc: mw.msg('StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'] }, { name: 'nie_usuwaj_styli', desc: mw.msg('StronaSubst-nie_usuwaj_styli'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_nie_usuwaj_styli'] }, { name: 'rozwijaj_szablony_oznaczone_szablonem_szablonsubst', desc: mw.msg('StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst'] }, ]); stronasubst_latex = (gConfig.get('StronaSubst', 'latex')==true); stronasubst_mathml = (((gConfig.get('StronaSubst', 'mathml'))&&(!stronasubst_latex))==true); stronasubst_opakuj_kategorie_ze_sortowaniem = (gConfig.get('StronaSubst', 'opakuj_kategorie_ze_sortowaniem')==true); stronasubst_ukrywaj_toc = gConfig.get('StronaSubst', 'ukrywaj_toc'); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach = gConfig.get('StronaSubst', 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'); stronasubst_aktualizowanie_nazw_artykulow = (gConfig.get('StronaSubst', 'aktualizowanie_nazw_artykulow')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami = (gConfig.get('StronaSubst', 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika = (gConfig.get('StronaSubst','aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika')==true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej = (gConfig.get('StronaSubst','aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej')==true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule = (gConfig.get('StronaSubst','aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule')==true); stronasubst_nie_usuwaj_styli = (gConfig.get('StronaSubst','nie_usuwaj_styli')==true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst = (gConfig.get('StronaSubst','rozwijaj_szablony_oznaczone_szablonem_szablonsubst')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} let stronasubst_tablica_tych_samych=new Array(); let stronasubst_tablica_rozdzialow=new Array(); let stronasubst_tablica_alternatywnych_nazw=new Array(); stronasubst_latex=((stronasubst_latex!==undefined)?stronasubst_latex:false); stronasubst_mathml=((stronasubst_mathml!==undefined)?stronasubst_mathml:true); stronasubst_opakuj_kategorie_ze_sortowaniem=((stronasubst_opakuj_kategorie_ze_sortowaniem!==undefined)?stronasubst_opakuj_kategorie_ze_sortowaniem:false); stronasubst_ukrywaj_toc=parseInt(((stronasubst_ukrywaj_toc!==undefined)?stronasubst_ukrywaj_toc:0)); stronasubst_ukrywaj_toc=((!isNaN(stronasubst_ukrywaj_toc))?stronasubst_ukrywaj_toc:0); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=((stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach!==undefined)?stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach:true); stronasubst_aktualizowanie_nazw_artykulow=((stronasubst_aktualizowanie_nazw_artykulow!==undefined)?stronasubst_aktualizowanie_nazw_artykulow:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika:true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=((stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej!==undefined)?stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej:true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=((stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule!==undefined)?stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule:true); stronasubst_nie_usuwaj_styli=((stronasubst_nie_usuwaj_styli!==undefined)?stronasubst_nie_usuwaj_styli:true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=((stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst!==undefined)?stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst:true); async function AnalizujDalejSzablonSubst(element_strony,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let rozdzial_ksiazki="rozdział_książki"; let el=$(element_strony).find('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((el!==null)&&(el.length>0)){ for(let i=0;i<el.length;++i){ let element_el=el[i]; let ksiazka=element_el.querySelector("."+rozdzial_ksiazki); if(ksiazka){ let nazwa_strony=element_el.getAttribute('nazwa_strony'); if(tab_promise2){tab_promise2.push(true);} CzyStronaSubst(element_el,nazwa_strony,tab_promise2); } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } async function WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let title=data.parse.title; let wikikod=data.parse.text['*']; let strona_hash; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let t=tab_uzyskane[0]; if(t==undefined){ console.log("Nie wykryto znacznika lsth_\d+."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } strona_hash=titles[t]; let selflink=document.createElement('div'); selflink.innerHTML=wikikod; let czy_selflink=selflink.getElementsByClassName('selflink'); if((czy_selflink!==null)&&(czy_selflink.length==1)){ let elements=tabstrona[strona_hash]; let a=document.createElement('a');/*Tworzenie linku*/ a.setAttribute('href',StronicowyParser.kodowanie.EncodeHtml(title)); a.innerHTML=strona_hash; let span=document.createElement('span'); span.appendChild(a); span.setAttribute("class","niw link");/*Dodawanie klasy, by inny skript JS to przeanalizował jako link*/ if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo(span); } for(let q in elements){ let element=elements[q]; element.innerHTML=""; element.appendChild(span); $(element).wrap(function(){return "<strong></strong>";}); let przed=document.createTextNode("{{:"); let po=document.createTextNode("}}"); element.insertBefore(przed,element.firstChild); element.appendChild(po); element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=tab_uzyskane[1].innerHTML; let elements=tabstrona[strona_hash]; for(let q in elements){ let element=elements[q]; element.innerHTML=wikikod; StronicowyParser.ZamienLinkiNaLinkiDoStronyAktualnej(element,title,titles); } StronicowyParser.AktualizujSpisTresciModuluStrony(elements,tabs,strona_hash,stronasubst_tablica_alternatywnych_nazw,stronasubst_tablica_tych_samych,stronasubst_tablica_rozdzialow,true,stronasubst_latex,stronasubst_mathml) let strona_start=$(elements[0]).parents(".strona_start"); let rodzic=undefined; if((strona_start!==null)&&(strona_start.length>0)){ rodzic=strona_start[0]; } StronicowyParser.IndeksujHeadLine(rodzic); StronicowyParser.PrzeIndeksujWszystkieTOC(rodzic,true); for(let q in elements){ let element=elements[q]; async function ElementDalszychObliczen(element,tab_promise2){ await StronicowyParser.muteks.zablokuj(true); StronicowyParser.PoprawRozdzialyStron(element); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu(element,tab_promise2);//Funkcja jako gadżet do numerowania rozdziałów. } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element,tab_promise2); } if((StronicowyParser.szablony&&StronicowyParser.szablony.LadujSzablon)&&(stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst)){ let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(element,title,titles,undefined,tab_promise).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(()=>{ if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(element); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} ElementDalszychObliczen(element,tab_promise2); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function ToogleTableOfContainer(panel){ let id=panel.target; let tagname=id.tagName.toUpperCase(); //console.log(czy_klasa,tagname,"TYTAN)"; if(tagname=="BUTTON"){ let czy_klasa_1=$(id).hasClass('sidebar-toc-toggle'); let czy_klasa_2=$(id).hasClass('vector-toc-collapse-button'); if(czy_klasa_1){ $(id).parent().children().last().each((i,element)=>{ let expanded=$(id).attr('aria-expanded'); if(expanded=="false"){ $(element).css('display',"block"); $(element).closest('li').addClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','true'); }else if(expanded=="true"){ $(element).css('display',"none"); $(element).closest('li').removeClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','false'); } }); }else if(czy_klasa_2){ $(id).parents('#sidebar-toc-label').siblings('ul').each((i,element)=>{ let ukryj=$(element).css('display'); if(ukryj!="none"){ $(element).css('display',"none"); id.innerHTML=" pokaż "; }else{ $(element).css('display',"block"); id.innerHTML=" ukryj " } }); } } } let mutekstoogle=new StronicowyParser.Muteks(); async function ScrollTableOfContainer(){ await mutekstoogle.zablokuj(); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').first().each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky.height-15; }); let parser=document.querySelector('#mw-content-text .mw-parser-output'); if(parser){ let rect=parser.getBoundingClientRect(); if(rect.top>=height_sticky){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item').first().addClass('sidebar-toc-list-item-active'); mutekstoogle.odblokuj(); return; } }else{ mutekstoogle.odblokuj(); return; } var str=$('#mw-content-text .mw-parser-output').find('h1, h2, h3, h4, h5, h6'); if((str!==null)&&(str.length>0)){ var naglowek; for(i=0;i<str.length;++i){ let element=str[i]; let rect=element.getBoundingClientRect(); if(rect.top>=height_sticky){ let mw_naglowek=element.querySelector('.mw-headline'); if(mw_naglowek){ let id_naglowek=mw_naglowek.getAttribute('id'); let tak=false; $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+id_naglowek){ let display=window.getComputedStyle(element, null).getPropertyValue('display'); if(display!="none"){ tak=true; } } }); if(tak){ naglowek=id_naglowek; break; } } } } if(naglowek){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+naglowek){ $(element).addClass('sidebar-toc-list-item-active'); } }); } } mutekstoogle.odblokuj(); } async function StronaSubst(element_strony,wikikod,aktualna_strona,tab_promise2){ await StronicowyParser.muteks.zablokuj(); StronicowyParser.NaprawNaglowkiStrony(element_strony,true); let czy_wikikod=wikikod.match(/^[_\s]*$/g); let strona_start=$('#mw-content-text .mw-parser-output .strona_start'); function CzyWszystkieNaglowkiWewnatrzStronaStart(){ let pole=$('#mw-content-text .mw-parser-output').find('h1,h2,h3,h4,h5,h6'); for(let i=0;i<pole.length;++i){ let s=strona_start.find(pole[i]); if((s===null)||(s.length==0)){ return false; } } return true; } if(czy_wikikod){ StronicowyParser.muteks.odblokuj(); let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyArtykulu)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyArtykulu(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } let czy_numerowac=StronicowyParser.CzyWlaczycSideBarTOC(undefined,true); if(czy_numerowac){ czy_numerowac=false; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: StronicowyParser.pageinfo.fullname, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+StronicowyParser.pageinfo.fullname+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ czy_numerowac=true; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ let tab_promise=new Array(true); StronicowyParser.LimitTOC(czy_numerowac,stronasubst_ukrywaj_toc); StronicowyParser.szablony.LadujSzablon(null,null,null,czy_numerowac,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true) StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],czy_numerowac,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(czy_numerowac)){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} return; } let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(null,null,null,undefined,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async (result) => { let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } await StronicowyParser.CzekajNaZakaczenie(tab_promise).then(async (result) => {}).catch(()=>{}); await StronicowyParser.muteks.zablokuj(); if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); let rozdzial_ksiazki="rozdział_książki"; let tagclass=element_strony.getElementsByClassName(rozdzial_ksiazki); if(tagclass===null){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return null; } let liczba_elementow=tagclass.length; if(liczba_elementow==0){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return null; } let titles=new Array(); let tabstrona=new Array(); let tabs=new Array(); let tab_section=new Array(); if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element_strony,tab_promise2); } let tab_hn=new Array(); async function edit_action(numer,strona,hn,link_strona,czy_link_nie_w_naglowku){ await StronicowyParser.muteks.zablokuj(); let linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection===null){ let editsection=document.createElement('span'); editsection.classList.add('mw-editsection'); let bracket_poczatek=document.createElement('span'); bracket_poczatek.classList.add('mw-editsection-bracket') bracket_poczatek.innerHTML="["; let a=document.createElement('a'); a.setAttribute('href',"/w/index.php?title="+StronicowyParser.kodowanie.EncodeHtml(strona,false,true)+"&action=edit"+((numer>0)?("&section="+numer):"")); a.setAttribute('title',"Edytuj artykuł: "+link_strona); a.innerHTML="edytuj"; let bracket_koniec=document.createElement('span'); bracket_koniec.classList.add('mw-editsection-bracket') bracket_koniec.innerHTML="]"; editsection.appendChild(bracket_poczatek); editsection.appendChild(a) editsection.appendChild(bracket_koniec); hn.appendChild(editsection); } linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection!==null){ let mw_editsection_bracket=linkstrony_editsection.querySelector('a'); if(mw_editsection_bracket!==null){ if(czy_link_nie_w_naglowku){ let a=document.createElement('a'); a.innerHTML="artykuł"; a.setAttribute("href",StronicowyParser.kodowanie.EncodeHtml("/wiki/"+StronicowyParser.kodowanie.EncodeHtml(link_strona,false,true))); a.setAttribute("title","Zobacz artykuł: "+link_strona); let span=document.createElement('span'); span.innerHTML="| "; span.setAttribute('class',"mw-editsection-bracket") let czy_ma=$(mw_editsection_bracket).parent().hasClass('link'); if(czy_ma){ let rodzic_mw_editsection_bracket=mw_editsection_bracket.parentNode; let span2=linkstrony_editsection.insertBefore(span, rodzic_mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); }else{ let span2=linkstrony_editsection.insertBefore(span, mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); } } } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(linkstrony_editsection).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); } for (let i=0;i<liczba_elementow;++i){ let tagclassname=tagclass[i]; let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find("."+rozdzial_ksiazki); function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==tagclassname){ return true; } } return false; } if(CzyOdrzucic()){continue;} if(tagclassname.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let class_element=tagclassname.getElementsByClassName('strona_subst'); let element; if((class_element!==null)&&(class_element.length==1)){ element=class_element[0]; if(element.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let czy_link_nie_w_naglowku; let strona_headline=tagclassname.getElementsByClassName('mw-headline'); let link_strona; if((strona_headline!==null)&&(strona_headline.length==1)){ strona_a=strona_headline[0].getElementsByTagName('a'); if((strona_a!==null)&&(strona_a.length==1)){ link_strona=StronicowyParser.kodowanie.DecodeHtml(strona_a[0].getAttribute('href')); if(link_strona!==null){ let re=/\/wiki\//g; if(re.test(link_strona)){ link_strona=link_strona.substring(6,link_strona.length); czy_link_nie_w_naglowku=false; }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } } }else{ link_strona=StronicowyParser.style.UsunStyle(element.innerHTML); czy_link_nie_w_naglowku=true; } } let re = /^[_\s]*$/g; let dopasowanie = re.test(link_strona); if(dopasowanie){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return; }; link_strona=link_strona.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ").replace(/&amp;/g,"&").replace(/&nbsp;/g," "); let hash=link_strona.replace(/^([^#]*)#(.*)$/,"$2").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); /**/ let hn=strona_headline[0].parentNode; if((hn===null)||(!hn.tagName.toUpperCase().match(/^H\d+$/g))){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} tab_section[i]=new Array(hn,link_strona,czy_link_nie_w_naglowku); let strona=link_strona.match(/^[^#]*/g).toString(); async function PraceIteracyjne(tab_promise2){ await StronicowyParser.muteks.zablokuj(); if(/#/g.test(link_strona)){ let hash=link_strona.replace(/^([^#]*)#(.*)$/g,"$2"); if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let numer=hn.innerHTML; numer=parseInt(numer); if(isNaN(numer)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return ;} let tab_c=tab_section[c]; edit_action(numer,tab_c[1].match(/^[^#]*/g).toString(),tab_c[0],tab_c[1],tab_c[2]); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami){ if(!stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); }else{ let uzupelniaj_sekcje_artykulow; if(stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule){ uzupelniaj_sekcje_artykulow="tak"; }else{ uzupelniaj_sekcje_artykulow=""; } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+link_strona+"|analiza=tak|uzupełniaj sekcje artykułów="+uzupelniaj_sekcje_artykulow+"|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; let a=headline.getElementsByTagName('a'); if((a!==null)&&(a.length>0)){ a[0].setAttribute('title',stare); } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } }else{ edit_action(0,strona,hn,link_strona,czy_link_nie_w_naglowku); if(stronasubst_aktualizowanie_nazw_artykulow){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+strona+"|analiza=tak|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceIteracyjne(tab_promise2).then((result) => {}).catch((error) => {}); },1000); /**/ tabs[i]=link_strona; let czy=false; for(let d in titles){ if(titles[d]==link_strona){ czy=true; break; } } if(!czy){ titles[titles.length]=link_strona; } if(tabstrona[link_strona]==null){ tabstrona[link_strona]=new Array(); } let tab=tabstrona[link_strona]; let tablen=tab.length; tabstrona[link_strona][tablen]=element; } async function PraceNaglowki(tab_promise2){ await StronicowyParser.muteks.zablokuj(); let promise; if(element_strony==document){ let namespace=StronicowyParser.pageinfo.namespace; let strona_podrecznika=((namespace!="")?(namespace+":"):"")+StronicowyParser.pageinfo.bookname; promise=Promise.resolve(strona_podrecznika); }else{ let zaan=$(element_strony).parents('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((zaan!==null)&&(zaan.length>0)){ let strona=zaan[0].getAttribute('nazwa_strony'); if(strona){ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](strona); }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } } if(tab_promise2){tab_promise2.push(true);} promise.then(async (strona_podrecznika)=>{ await StronicowyParser.muteks.zablokuj(); let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find(".klasa_nagłówka"); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)){ let g=0; let tab_naglowka=new Array(); let tab_hn=new Array(); for(let z=0;z<klasa_naglowka.length;++z){ let pojedyncza_klasa_naglowka=klasa_naglowka[z]; function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==pojedyncza_klasa_naglowka){ return true; } } return false; } if(CzyOdrzucic()){continue;} let dana_klasa_naglowka=pojedyncza_klasa_naglowka.querySelector('.mw-headline'); if(dana_klasa_naglowka!==null){ if((dana_klasa_naglowka.parentNode!==null)&&(dana_klasa_naglowka.parentNode.tagName.toUpperCase().match(/^[Hh]\d+$/g)) &&(dana_klasa_naglowka.parentNode.parentNode!=null)&&(dana_klasa_naglowka.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&($(dana_klasa_naglowka.parentNode.parentNode).hasClass('klasa_nagłówka'))){ let naglowek=StronicowyParser.style.UsunStyle(dana_klasa_naglowka.innerHTML).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); let ww=1; for(let x=0;x<tab_naglowka.length;++x){ if(tab_naglowka[x]==naglowek){ ++ww; } } naglowek=naglowek+((ww>1)?ww:""); tab_naglowka[g]=naglowek; tab_hn[g]=dana_klasa_naglowka.parentNode; if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, na stronie głównej podręcznika, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let nazwa_podrecznika=strona_podrecznika.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") let naglowek_sekcji_podrecznika=tab_naglowka[c].replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") edit_action(c+1,nazwa_podrecznika,tab_hn[c],nazwa_podrecznika+"#"+naglowek_sekcji_podrecznika,true); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();return;} let headline=tab_hn[c].querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } ++g; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceNaglowki(tab_promise2).then((result) => {}).catch((error) => {}); },1000); function RozwazajNaglowki(){ let toc_fun=new StronicowyParser.ListaNodeTOC(); if((toc_fun.toc!==null)&&(toc_fun.toc.length>0)){ for(let w=0;w<toc_fun.toc.length;++w){ let czy_side_bar_toc=toc_fun.CzySideBarToc(toc_fun.toc[w]); let ile_jest=0; let li=toc_fun.toc[w].getElementsByTagName('li'); if((li!==null)&&(li.length>0)){ for(let dd=0;dd<li.length;++dd){ let element_li=li[dd]; let tocnumber;let toctext_wartosc; if(czy_side_bar_toc){ tocnumber=element_li.querySelector('.sidebar-toc-numb'); if(!tocnumber){continue;} toctext_wartosc=element_li.querySelector('.sidebar-toc-text').innerHTML.replace(new RegExp(StronicowyParser.wzor.BezZnakowSpecjalnych(tocnumber.outerHTML),"g"),""); }else{ tocnumber=element_li.querySelector('.tocnumber'); toctext_wartosc=element_li.querySelector('.toctext').innerHTML; } if((tocnumber!==null)&&(toctext_wartosc!==null)){ let czy_jest=undefined; let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)&&(klasa_naglowka[ile_jest]!=null)){ let element_klasa_naglowka=klasa_naglowka[ile_jest]; let headline=element_klasa_naglowka.querySelector('.mw-headline'); if((headline!==null) &&(headline.parentNode!==null) &&(headline.parentNode.tagName.toUpperCase().match(/^H\d+$/)) &&(headline.parentNode.parentNode!==null) &&(headline.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&(headline.parentNode.parentNode===element_klasa_naglowka) ){ let element_a; if(czy_side_bar_toc){ element_a=tocnumber.parentNode.parentNode; }else{ element_a=tocnumber.parentNode; } if(element_a.tagName.toUpperCase()=="A"){ let href=StronicowyParser.kodowanie.DecodeHtml(element_a.getAttribute('href')); if(href!==null){ href=href.replace(/^#/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); let id_headline=headline.getAttribute('id'); if(id_headline!==null){ id_headline=id_headline.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); if(href!=id_headline){czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} if(czy_jest===undefined){ile_jest+=1;} if((czy_jest===undefined)||(!czy_jest)){ let element_toctext=StronicowyParser.style.UsunStyle(toctext_wartosc).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," "); if(stronasubst_tablica_rozdzialow[element_toctext]==null){ stronasubst_tablica_rozdzialow[element_toctext]=new Array(tocnumber); }else{ stronasubst_tablica_rozdzialow[element_toctext].push(tocnumber); } } } } } } } } StronicowyParser.LimitTOC(true,stronasubst_ukrywaj_toc); if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],true,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(StronicowyParser.CzyWlaczycSideBarTOC(undefined,true))){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } RozwazajNaglowki(); if(stronasubst_mathml){ $("div.toc ul > li > a > span.toctext").toggleClass("mathml"); $("div.toc_spis ul > li > a > span.toctext").toggleClass("mathml"); $("div.mw-table-of-contents-container > nav.sidebar-toc ul > li > a > div.sidebar-toc-text").toggleClass("mathml"); } function Strona(strona){ let strona_re=StronicowyParser.wzor.BezZnakowSpecjalnych(strona); let re=new RegExp("^\\s*"+strona_re+"\\s*#","g"); return re; } function CzyArtykulyZNaglowkamiDlaStrony(re){ for(let s in titles){ let czy_hash=titles[s].match(re); if(czy_hash){ return true; } } return false; } let catlinks_fun=new StronicowyParser.LinkiKategorii(); await catlinks_fun.PobierzKategorieStrony(); for ( let t in titles ) { let strona=titles[t].match(/^[^#]*/g).toString(); let szablon_artykulu; let re_strona=Strona(strona); let czy_naglowki=CzyArtykulyZNaglowkamiDlaStrony(re_strona); if(!czy_naglowki){ szablon_artykulu="{{:"+strona+"}}"; }else{ /*---------------------------------*/ let rozdzial1=null; let re=/^([^#]*)#(.*)$/g; if(re.test(titles[t])){ rozdzial1=titles[t].replace(re,"$2"); rozdzial1=rozdzial1.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial1="";} let rozdzial2=null; let tit=titles[parseInt(t)+1]; if( tit && re.test(tit) && re_strona.test(tit)){ rozdzial2=tit.replace(re,"$2"); rozdzial2=rozdzial2.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial2="";} /*---------------------------*/ szablon_artykulu="{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|TekstRozdziałuStrony|"+strona+"|"+rozdzial1+"|"+rozdzial2+"}}}}"; } szablon_artykulu="{{PrzytnijTekst|"+szablon_artykulu+"}}"; if(stronasubst_opakuj_kategorie_ze_sortowaniem){ szablon_artykulu="{{OpakujKategorieZeSortowaniem|"+szablon_artykulu+"}}" } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text|categories', title: strona, text: "<div class=\"hn hn_"+t+"\">\n"+szablon_artykulu+"\n</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); catlinks_fun.AnalizaKategorii(data).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);} WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2).then((result) => {}).catch((error) => {}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function CzyszczenieZZdarzeńTableOfContent(){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } } } CzyszczenieZZdarzeńTableOfContent(); let tab_promise2=new StronicowyParser.SugerowaneObiekty(); async function CzyStronaSubst(element,aktualna_strona,tab_promise2){ if(tab_promise2){tab_promise2.push(true);} await StronicowyParser.muteks.zablokuj(); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronaSubst}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.expandtemplates.wikitext; if((wikikod!==null)&&(aktualna_strona!==null)){ if(tab_promise2){tab_promise2.push(true);} StronaSubst(element,wikikod,aktualna_strona,tab_promise2).then((result) => {}).catch((error) => {}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } let aktualna_strona=StronicowyParser.pageinfo.fullname; if(tab_promise2){tab_promise2.push(true,true);} CzyStronaSubst(document,aktualna_strona,tab_promise2); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} function Progress(){ var c=document.createElement('div'); c.setAttribute("id","pasek_postępu") c.setAttribute('style','line-height:1.2em;margin-top:-2px;margin-left:-2px;position:absolute;width:250px;height:80px;border:1px solid black;box-sizing:border-box;padding:5px;background-color:white;display:flex;flex-direction:column;box-sizing:border-box;'); var label=document.createElement('label'); label.setAttribute('for','file1'); label.innerHTML="<span style=\"color:blue;\">Ukończone wątki: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_0=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file1') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;'); progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_1=c.appendChild(progress); var label=document.createElement('label'); label.setAttribute('for','file2'); label.innerHTML="<span style=\"color:blue;\">Zwolnione blokaty: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_1=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file2') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;') progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_2=c.appendChild(progress); function PozycjaXY(){ c.style.top=(window.scrollY+document.documentElement.clientHeight-parseFloat(c.style.height))+"px"; c.style.left=(window.scrollX+document.documentElement.clientWidth-parseFloat(c.style.width))+"px"; } document.querySelector('body').appendChild(c); PozycjaXY(); $(window).on('scroll',PozycjaXY); $(window).on('resize',PozycjaXY); return new Array(element_body_progress_1,element_body_progress_2,span_0,span_1); } var arr; function __FUNKCJA(arr){ arr[0].setAttribute("value","0"); arr[1].setAttribute("value","0"); let dodatnie_0=tab_promise2.lengthPlus; let ujemne_0=tab_promise2.lengthMinus; let dodatnie_1=StronicowyParser.muteks.LiczbaBlokatPlus; let ujemne_1=StronicowyParser.muteks.LiczbaBlokatMinus; let postep_0=((dodatnie_0>0)?((ujemne_0/dodatnie_0)*100):0); let postep_1=((dodatnie_1>0)?((ujemne_1/dodatnie_1)*100):0); arr[0].setAttribute("value",postep_0); arr[1].setAttribute("value",postep_1); arr[2].innerHTML=(parseInt(postep_0*1000)/1000)+"%"; arr[3].innerHTML=(parseInt(postep_1*1000)/1000)+"%"; } StronicowyParser.CzekajNaZakaczenie(tab_promise2,null,StronicowyParser.muteks,(tab_promise)=>{arr=Progress();__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);setTimeout(function(){let node_postep=document.getElementById('pasek_postępu');$(node_postep).remove();},2000);}).then(async (result) => {}).catch(()=>{}); }; StronicowyParser.WyswietlStronyKsiazki().then((result) => {}).catch((error) => {}); }); sg7axcyit7n50m74fbamy0k0zoy9hib 437351 437330 2022-08-09T18:36:08Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.WyswietlStronyKsiazki=async function(){ await StronicowyParser.muteks.zablokuj(); let stronasubst_latex=undefined; let stronasubst_mathml=undefined; let stronasubst_opakuj_kategorie_ze_sortowaniem=undefined; let stronasubst_ukrywaj_toc=undefined; let stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=undefined; let stronasubst_aktualizowanie_nazw_artykulow=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=undefined; let stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=undefined; let stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=undefined; let stronasubst_nie_usuwaj_styli=undefined; let stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'StronaSubst-name': 'Strona zbiorcza', 'StronaSubst-description-page': 'Wikibooks:StronicowyParser/StronaSubst', 'StronaSubst-latex': 'Zamiast wzorów, wstaw tekst latexowy, w przeciwnym przypadku jest w formie LaTeX.', 'StronaSubst-mathml': 'Zamiast wzorów latexowych, wstaw je w formie znaczników MathML.', 'StronaSubst-opakuj_kategorie_ze_sortowaniem' : 'W stronach zbiorczych opakowuje kategorie, w postaci ramki, dla każdego artykułu z osobna.', 'StronaSubst-ukrywaj_toc' : "Ukrywa, począwszy od jakiegoś poziomu wszystkich tam spisów treści, na stronach zbiorczych.", 'StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach' : "Włącza dymki, nad linkami, w ładowanych dynamicznie stronach, tworząc je inteligentnymi.", 'StronaSubst-aktualizowanie_nazw_artykulow' : 'Aktualizuje na podstawie strony głównej nazwy tylko artykułów.', 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami' : "Aktualizuje sekcje poszczegónych rozdziałów artykułów ładowanych rozdziałami, domyślnie według sekcji w tych jednostkach.", 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika' : 'Aktualizuje, sekcje artykułów ładowanych rozdziałami, na podstawie strony głównej książki, a nie jego artykułów.', 'StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej' : 'Aktualizuje nagłówki strony głównej podręcznika na stronie zbiorczej.', 'StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule' : 'Aktualizuje, brakujące sekcje rozdziałów ładowanych rozdziałami artykułów, według wpisów na stronie głównej, na stronie zbiorczej.', 'StronaSubst-nie_usuwaj_styli' : 'Nie usuwa styli z nagłówków ładowanych stron.', 'StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst' : 'Rozwijaj szablony oznaczone szablonem SzablonSubst.', }); gConfig.register('StronaSubst', {name: mw.msg('StronaSubst-name'), descriptionPage: mw.msg('StronaSubst-description-page')}, [ { name: 'latex', desc: mw.msg('StronaSubst-latex'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_latex'] }, { name: 'mathml', desc: mw.msg('StronaSubst-mathml'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_mathml'] }, { name: 'opakuj_kategorie_ze_sortowaniem', desc: mw.msg('StronaSubst-opakuj_kategorie_ze_sortowaniem'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_opakuj_kategorie_ze_sortowaniem'] }, { name: 'ukrywaj_toc', desc: mw.msg('StronaSubst-ukrywaj_toc'), type: 'integer', deflt: 0, validation: function(n){ if((n<0)||(n==1)){ throw 'Wartość dotycząca poziomu ukrywania spisów treści jest nieprawidłowa!' }; return n; }, legacy: [window, 'wb_stronasubst_ukrywaj_toc'] }, { name: 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach', desc: mw.msg('StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'] }, { name: 'aktualizowanie_nazw_artykulow', desc: mw.msg('StronaSubst-aktualizowanie_nazw_artykulow'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nazw_artykulow'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'] }, { name: 'aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej', desc: mw.msg('StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'] }, { name: 'aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule', desc: mw.msg('StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'] }, { name: 'nie_usuwaj_styli', desc: mw.msg('StronaSubst-nie_usuwaj_styli'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_nie_usuwaj_styli'] }, { name: 'rozwijaj_szablony_oznaczone_szablonem_szablonsubst', desc: mw.msg('StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst'] }, ]); stronasubst_latex = (gConfig.get('StronaSubst', 'latex')==true); stronasubst_mathml = (((gConfig.get('StronaSubst', 'mathml'))&&(!stronasubst_latex))==true); stronasubst_opakuj_kategorie_ze_sortowaniem = (gConfig.get('StronaSubst', 'opakuj_kategorie_ze_sortowaniem')==true); stronasubst_ukrywaj_toc = gConfig.get('StronaSubst', 'ukrywaj_toc'); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach = gConfig.get('StronaSubst', 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'); stronasubst_aktualizowanie_nazw_artykulow = (gConfig.get('StronaSubst', 'aktualizowanie_nazw_artykulow')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami = (gConfig.get('StronaSubst', 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika = (gConfig.get('StronaSubst','aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika')==true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej = (gConfig.get('StronaSubst','aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej')==true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule = (gConfig.get('StronaSubst','aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule')==true); stronasubst_nie_usuwaj_styli = (gConfig.get('StronaSubst','nie_usuwaj_styli')==true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst = (gConfig.get('StronaSubst','rozwijaj_szablony_oznaczone_szablonem_szablonsubst')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} let stronasubst_tablica_tych_samych=new Array(); let stronasubst_tablica_rozdzialow=new Array(); let stronasubst_tablica_alternatywnych_nazw=new Array(); stronasubst_latex=((stronasubst_latex!==undefined)?stronasubst_latex:false); stronasubst_mathml=((stronasubst_mathml!==undefined)?stronasubst_mathml:true); stronasubst_opakuj_kategorie_ze_sortowaniem=((stronasubst_opakuj_kategorie_ze_sortowaniem!==undefined)?stronasubst_opakuj_kategorie_ze_sortowaniem:false); stronasubst_ukrywaj_toc=parseInt(((stronasubst_ukrywaj_toc!==undefined)?stronasubst_ukrywaj_toc:0)); stronasubst_ukrywaj_toc=((!isNaN(stronasubst_ukrywaj_toc))?stronasubst_ukrywaj_toc:0); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=((stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach!==undefined)?stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach:true); stronasubst_aktualizowanie_nazw_artykulow=((stronasubst_aktualizowanie_nazw_artykulow!==undefined)?stronasubst_aktualizowanie_nazw_artykulow:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika:true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=((stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej!==undefined)?stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej:true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=((stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule!==undefined)?stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule:true); stronasubst_nie_usuwaj_styli=((stronasubst_nie_usuwaj_styli!==undefined)?stronasubst_nie_usuwaj_styli:true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=((stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst!==undefined)?stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst:true); async function AnalizujDalejSzablonSubst(element_strony,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let rozdzial_ksiazki="rozdział_książki"; let el=$(element_strony).find('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((el!==null)&&(el.length>0)){ for(let i=0;i<el.length;++i){ let element_el=el[i]; let ksiazka=element_el.querySelector("."+rozdzial_ksiazki); if(ksiazka){ let nazwa_strony=element_el.getAttribute('nazwa_strony'); if(tab_promise2){tab_promise2.push(true);} CzyStronaSubst(element_el,nazwa_strony,tab_promise2); } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } async function WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let title=data.parse.title; let wikikod=data.parse.text['*']; let strona_hash; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let t=tab_uzyskane[0]; if(t==undefined){ console.log("Nie wykryto znacznika lsth_\d+."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } strona_hash=titles[t]; let selflink=document.createElement('div'); selflink.innerHTML=wikikod; let czy_selflink=selflink.getElementsByClassName('selflink'); if((czy_selflink!==null)&&(czy_selflink.length==1)){ let elements=tabstrona[strona_hash]; let a=document.createElement('a');/*Tworzenie linku*/ a.setAttribute('href',StronicowyParser.kodowanie.EncodeHtml(title)); a.innerHTML=strona_hash; let span=document.createElement('span'); span.appendChild(a); span.setAttribute("class","niw link");/*Dodawanie klasy, by inny skript JS to przeanalizował jako link*/ if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo(span); } for(let q in elements){ let element=elements[q]; element.innerHTML=""; element.appendChild(span); $(element).wrap(function(){return "<strong></strong>";}); let przed=document.createTextNode("{{:"); let po=document.createTextNode("}}"); element.insertBefore(przed,element.firstChild); element.appendChild(po); element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=tab_uzyskane[1].innerHTML; let elements=tabstrona[strona_hash]; for(let q in elements){ let element=elements[q]; element.innerHTML=wikikod; StronicowyParser.ZamienLinkiNaLinkiDoStronyAktualnej(element,title,titles); } StronicowyParser.AktualizujSpisTresciModuluStrony(elements,tabs,strona_hash,stronasubst_tablica_alternatywnych_nazw,stronasubst_tablica_tych_samych,stronasubst_tablica_rozdzialow,true,stronasubst_latex,stronasubst_mathml) let strona_start=$(elements[0]).parents(".strona_start"); let rodzic=undefined; if((strona_start!==null)&&(strona_start.length>0)){ rodzic=strona_start[0]; } StronicowyParser.IndeksujHeadLine(rodzic); StronicowyParser.PrzeIndeksujWszystkieTOC(rodzic,true); for(let q in elements){ let element=elements[q]; async function ElementDalszychObliczen(element,tab_promise2){ await StronicowyParser.muteks.zablokuj(true); StronicowyParser.PoprawRozdzialyStron(element); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu(element,tab_promise2);//Funkcja jako gadżet do numerowania rozdziałów. } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element,tab_promise2); } if((StronicowyParser.szablony&&StronicowyParser.szablony.LadujSzablon)&&(stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst)){ let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(element,title,titles,undefined,tab_promise).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(()=>{ if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(element); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} ElementDalszychObliczen(element,tab_promise2); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function ToogleTableOfContainer(panel){ let id=panel.target; let tagname=id.tagName.toUpperCase(); //console.log(czy_klasa,tagname,"TYTAN)"; if(tagname=="BUTTON"){ let czy_klasa_1=$(id).hasClass('sidebar-toc-toggle'); let czy_klasa_2=$(id).hasClass('vector-toc-collapse-button'); if(czy_klasa_1){ $(id).parent().children().last().each((i,element)=>{ let expanded=$(id).attr('aria-expanded'); if(expanded=="false"){ $(element).css('display',"block"); $(element).closest('li').addClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','true'); }else if(expanded=="true"){ $(element).css('display',"none"); $(element).closest('li').removeClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','false'); } }); }else if(czy_klasa_2){ $(id).parents('#sidebar-toc-label').siblings('ul').each((i,element)=>{ let ukryj=$(element).css('display'); if(ukryj!="none"){ $(element).css('display',"none"); id.innerHTML=" pokaż "; }else{ $(element).css('display',"block"); id.innerHTML=" ukryj " } }); } } } let mutekstoogle=new StronicowyParser.Muteks(); async function ScrollTableOfContainer(){ await mutekstoogle.zablokuj(); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').first().each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky.height-15; }); let parser=document.querySelector('#mw-content-text .mw-parser-output'); if(parser){ let rect=parser.getBoundingClientRect(); if(rect.top>=height_sticky){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item').first().addClass('sidebar-toc-list-item-active'); mutekstoogle.odblokuj(); return; } }else{ mutekstoogle.odblokuj(); return; } var str=$('#mw-content-text .mw-parser-output').find('h1, h2, h3, h4, h5, h6'); if((str!==null)&&(str.length>0)){ var naglowek; for(i=0;i<str.length;++i){ let element=str[i]; let rect=element.getBoundingClientRect(); if(rect.top>=height_sticky){ let mw_naglowek=element.querySelector('.mw-headline'); if(mw_naglowek){ let id_naglowek=mw_naglowek.getAttribute('id'); let tak=false; $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+id_naglowek){ let display=window.getComputedStyle(element, null).getPropertyValue('display'); if(display!="none"){ tak=true; } } }); if(tak){ naglowek=id_naglowek; break; } } } } if(naglowek){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+naglowek){ $(element).addClass('sidebar-toc-list-item-active'); } }); } } mutekstoogle.odblokuj(); } async function StronaSubst(element_strony,wikikod,aktualna_strona,tab_promise2){ await StronicowyParser.muteks.zablokuj(); StronicowyParser.NaprawNaglowkiStrony(element_strony,true); let czy_wikikod=wikikod.match(/^[_\s]*$/g); let strona_start=$('#mw-content-text .mw-parser-output .strona_start'); function CzyWszystkieNaglowkiWewnatrzStronaStart(){ let pole=$('#mw-content-text .mw-parser-output').find('h1,h2,h3,h4,h5,h6'); for(let i=0;i<pole.length;++i){ let s=strona_start.find(pole[i]); if((s===null)||(s.length==0)){ return false; } } return true; } if(czy_wikikod){ StronicowyParser.muteks.odblokuj(); let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyArtykulu)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyArtykulu(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } let czy_numerowac=StronicowyParser.CzyWlaczycSideBarTOC(undefined,true); if(czy_numerowac){ czy_numerowac=false; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: StronicowyParser.pageinfo.fullname, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+StronicowyParser.pageinfo.fullname+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ czy_numerowac=true; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ let tab_promise=new Array(true); StronicowyParser.LimitTOC(czy_numerowac,stronasubst_ukrywaj_toc); StronicowyParser.szablony.LadujSzablon(null,null,null,czy_numerowac,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true) StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],czy_numerowac,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(czy_numerowac)){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} return; } let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(null,null,null,undefined,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async (result) => { let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } await StronicowyParser.CzekajNaZakaczenie(tab_promise).then(async (result) => {}).catch(()=>{}); await StronicowyParser.muteks.zablokuj(); if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); let rozdzial_ksiazki="rozdział_książki"; let tagclass=element_strony.getElementsByClassName(rozdzial_ksiazki); if(tagclass===null){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return null; } let liczba_elementow=tagclass.length; if(liczba_elementow==0){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return null; } let titles=new Array(); let tabstrona=new Array(); let tabs=new Array(); let tab_section=new Array(); if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element_strony,tab_promise2); } let tab_hn=new Array(); async function edit_action(numer,strona,hn,link_strona,czy_link_nie_w_naglowku){ await StronicowyParser.muteks.zablokuj(); let linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection===null){ let editsection=document.createElement('span'); editsection.classList.add('mw-editsection'); let bracket_poczatek=document.createElement('span'); bracket_poczatek.classList.add('mw-editsection-bracket') bracket_poczatek.innerHTML="["; let a=document.createElement('a'); a.setAttribute('href',"/w/index.php?title="+StronicowyParser.kodowanie.EncodeHtml(strona,false,true)+"&action=edit"+((numer>0)?("&section="+numer):"")); a.setAttribute('title',"Edytuj artykuł: "+link_strona); a.innerHTML="edytuj"; let bracket_koniec=document.createElement('span'); bracket_koniec.classList.add('mw-editsection-bracket') bracket_koniec.innerHTML="]"; editsection.appendChild(bracket_poczatek); editsection.appendChild(a) editsection.appendChild(bracket_koniec); hn.appendChild(editsection); } linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection!==null){ let mw_editsection_bracket=linkstrony_editsection.querySelector('a'); if(mw_editsection_bracket!==null){ if(czy_link_nie_w_naglowku){ let a=document.createElement('a'); a.innerHTML="artykuł"; a.setAttribute("href",StronicowyParser.kodowanie.EncodeHtml("/wiki/"+StronicowyParser.kodowanie.EncodeHtml(link_strona,false,true))); a.setAttribute("title","Zobacz artykuł: "+link_strona); let span=document.createElement('span'); span.innerHTML="| "; span.setAttribute('class',"mw-editsection-bracket") let czy_ma=$(mw_editsection_bracket).parent().hasClass('link'); if(czy_ma){ let rodzic_mw_editsection_bracket=mw_editsection_bracket.parentNode; let span2=linkstrony_editsection.insertBefore(span, rodzic_mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); }else{ let span2=linkstrony_editsection.insertBefore(span, mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); } } } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(linkstrony_editsection).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); } for (let i=0;i<liczba_elementow;++i){ let tagclassname=tagclass[i]; let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find("."+rozdzial_ksiazki); function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==tagclassname){ return true; } } return false; } if(CzyOdrzucic()){continue;} if(tagclassname.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let class_element=tagclassname.getElementsByClassName('strona_subst'); let element; if((class_element!==null)&&(class_element.length==1)){ element=class_element[0]; if(element.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let czy_link_nie_w_naglowku; let strona_headline=tagclassname.getElementsByClassName('mw-headline'); let link_strona; if((strona_headline!==null)&&(strona_headline.length==1)){ strona_a=strona_headline[0].getElementsByTagName('a'); if((strona_a!==null)&&(strona_a.length==1)){ link_strona=StronicowyParser.kodowanie.DecodeHtml(strona_a[0].getAttribute('href')); if(link_strona!==null){ let re=/\/wiki\//g; if(re.test(link_strona)){ link_strona=link_strona.substring(6,link_strona.length); czy_link_nie_w_naglowku=false; }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } } }else{ link_strona=StronicowyParser.style.UsunStyle(element.innerHTML); czy_link_nie_w_naglowku=true; } } let re = /^[_\s]*$/g; let dopasowanie = re.test(link_strona); if(dopasowanie){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return; }; link_strona=link_strona.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ").replace(/&amp;/g,"&").replace(/&nbsp;/g," "); let hash=link_strona.replace(/^([^#]*)#(.*)$/,"$2").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); /**/ let hn=strona_headline[0].parentNode; if((hn===null)||(!hn.tagName.toUpperCase().match(/^H\d+$/g))){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} tab_section[i]=new Array(hn,link_strona,czy_link_nie_w_naglowku); let strona=link_strona.match(/^[^#]*/g).toString(); async function PraceIteracyjne(tab_promise2){ await StronicowyParser.muteks.zablokuj(); if(/#/g.test(link_strona)){ let hash=link_strona.replace(/^([^#]*)#(.*)$/g,"$2"); if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let numer=hn.innerHTML; numer=parseInt(numer); if(isNaN(numer)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return ;} let tab_c=tab_section[c]; edit_action(numer,tab_c[1].match(/^[^#]*/g).toString(),tab_c[0],tab_c[1],tab_c[2]); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami){ if(!stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); }else{ let uzupelniaj_sekcje_artykulow; if(stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule){ uzupelniaj_sekcje_artykulow="tak"; }else{ uzupelniaj_sekcje_artykulow=""; } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+link_strona+"|analiza=tak|uzupełniaj sekcje artykułów="+uzupelniaj_sekcje_artykulow+"|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; let a=headline.getElementsByTagName('a'); if((a!==null)&&(a.length>0)){ a[0].setAttribute('title',stare); } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } }else{ edit_action(0,strona,hn,link_strona,czy_link_nie_w_naglowku); if(stronasubst_aktualizowanie_nazw_artykulow){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+strona+"|analiza=tak|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceIteracyjne(tab_promise2).then((result) => {}).catch((error) => {}); },1000); /**/ tabs[i]=link_strona; let czy=false; for(let d in titles){ if(titles[d]==link_strona){ czy=true; break; } } if(!czy){ titles[titles.length]=link_strona; } if(tabstrona[link_strona]==null){ tabstrona[link_strona]=new Array(); } let tab=tabstrona[link_strona]; let tablen=tab.length; tabstrona[link_strona][tablen]=element; } async function PraceNaglowki(tab_promise2){ await StronicowyParser.muteks.zablokuj(); let promise; if(element_strony==document){ let namespace=StronicowyParser.pageinfo.namespace; let strona_podrecznika=((namespace!="")?(namespace+":"):"")+StronicowyParser.pageinfo.bookname; promise=Promise.resolve(strona_podrecznika); }else{ let zaan=$(element_strony).parents('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((zaan!==null)&&(zaan.length>0)){ let strona=zaan[0].getAttribute('nazwa_strony'); if(strona){ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](strona); }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } } if(tab_promise2){tab_promise2.push(true);} promise.then(async (strona_podrecznika)=>{ await StronicowyParser.muteks.zablokuj(); let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find(".klasa_nagłówka"); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)){ let g=0; let tab_naglowka=new Array(); let tab_hn=new Array(); for(let z=0;z<klasa_naglowka.length;++z){ let pojedyncza_klasa_naglowka=klasa_naglowka[z]; function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==pojedyncza_klasa_naglowka){ return true; } } return false; } if(CzyOdrzucic()){continue;} let dana_klasa_naglowka=pojedyncza_klasa_naglowka.querySelector('.mw-headline'); if(dana_klasa_naglowka!==null){ if((dana_klasa_naglowka.parentNode!==null)&&(dana_klasa_naglowka.parentNode.tagName.toUpperCase().match(/^[Hh]\d+$/g)) &&(dana_klasa_naglowka.parentNode.parentNode!=null)&&(dana_klasa_naglowka.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&($(dana_klasa_naglowka.parentNode.parentNode).hasClass('klasa_nagłówka'))){ let naglowek=StronicowyParser.style.UsunStyle(dana_klasa_naglowka.innerHTML).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); let ww=1; for(let x=0;x<tab_naglowka.length;++x){ if(tab_naglowka[x]==naglowek){ ++ww; } } naglowek=naglowek+((ww>1)?ww:""); tab_naglowka[g]=naglowek; tab_hn[g]=dana_klasa_naglowka.parentNode; if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, na stronie głównej podręcznika, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let nazwa_podrecznika=strona_podrecznika.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") let naglowek_sekcji_podrecznika=tab_naglowka[c].replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") edit_action(c+1,nazwa_podrecznika,tab_hn[c],nazwa_podrecznika+"#"+naglowek_sekcji_podrecznika,true); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();return;} let headline=tab_hn[c].querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } ++g; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceNaglowki(tab_promise2).then((result) => {}).catch((error) => {}); },1000); function RozwazajNaglowki(){ let toc_fun=new StronicowyParser.ListaNodeTOC(); if((toc_fun.toc!==null)&&(toc_fun.toc.length>0)){ for(let w=0;w<toc_fun.toc.length;++w){ let czy_side_bar_toc=toc_fun.CzySideBarToc(toc_fun.toc[w]); let ile_jest=0; let li=toc_fun.toc[w].getElementsByTagName('li'); if((li!==null)&&(li.length>0)){ for(let dd=0;dd<li.length;++dd){ let element_li=li[dd]; let tocnumber;let toctext_wartosc; if(czy_side_bar_toc){ tocnumber=element_li.querySelector('.sidebar-toc-numb'); if(!tocnumber){continue;} toctext_wartosc=element_li.querySelector('.sidebar-toc-text').innerHTML.replace(new RegExp(StronicowyParser.wzor.BezZnakowSpecjalnych(tocnumber.outerHTML),"g"),""); }else{ tocnumber=element_li.querySelector('.tocnumber'); toctext_wartosc=element_li.querySelector('.toctext').innerHTML; } if((tocnumber!==null)&&(toctext_wartosc!==null)){ let czy_jest=undefined; let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)&&(klasa_naglowka[ile_jest]!=null)){ let element_klasa_naglowka=klasa_naglowka[ile_jest]; let headline=element_klasa_naglowka.querySelector('.mw-headline'); if((headline!==null) &&(headline.parentNode!==null) &&(headline.parentNode.tagName.toUpperCase().match(/^H\d+$/)) &&(headline.parentNode.parentNode!==null) &&(headline.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&(headline.parentNode.parentNode===element_klasa_naglowka) ){ let element_a; if(czy_side_bar_toc){ element_a=tocnumber.parentNode.parentNode; }else{ element_a=tocnumber.parentNode; } if(element_a.tagName.toUpperCase()=="A"){ let href=StronicowyParser.kodowanie.DecodeHtml(element_a.getAttribute('href')); if(href!==null){ href=href.replace(/^#/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); let id_headline=headline.getAttribute('id'); if(id_headline!==null){ id_headline=id_headline.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); if(href!=id_headline){czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} if(czy_jest===undefined){ile_jest+=1;} if((czy_jest===undefined)||(!czy_jest)){ let element_toctext=StronicowyParser.style.UsunStyle(toctext_wartosc).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," "); if(stronasubst_tablica_rozdzialow[element_toctext]==null){ stronasubst_tablica_rozdzialow[element_toctext]=new Array(tocnumber); }else{ stronasubst_tablica_rozdzialow[element_toctext].push(tocnumber); } } } } } } } } StronicowyParser.LimitTOC(true,stronasubst_ukrywaj_toc); if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],true,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(StronicowyParser.CzyWlaczycSideBarTOC(undefined,true))){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } RozwazajNaglowki(); if(stronasubst_mathml){ $("div.toc ul > li > a > span.toctext").toggleClass("mathml"); $("div.toc_spis ul > li > a > span.toctext").toggleClass("mathml"); $("div.mw-table-of-contents-container > nav.sidebar-toc ul > li > a > div.sidebar-toc-text").toggleClass("mathml"); } function Strona(strona){ let strona_re=StronicowyParser.wzor.BezZnakowSpecjalnych(strona); let re=new RegExp("^\\s*"+strona_re+"\\s*#","g"); return re; } function CzyArtykulyZNaglowkamiDlaStrony(re){ for(let s in titles){ let czy_hash=titles[s].match(re); if(czy_hash){ return true; } } return false; } let catlinks_fun=new StronicowyParser.LinkiKategorii(); await catlinks_fun.PobierzKategorieStrony(); for ( let t in titles ) { let strona=titles[t].match(/^[^#]*/g).toString(); let szablon_artykulu; let re_strona=Strona(strona); let czy_naglowki=CzyArtykulyZNaglowkamiDlaStrony(re_strona); if(!czy_naglowki){ szablon_artykulu="{{:"+strona+"}}"; }else{ /*---------------------------------*/ let rozdzial1=null; let re=/^([^#]*)#(.*)$/g; if(re.test(titles[t])){ rozdzial1=titles[t].replace(re,"$2"); rozdzial1=rozdzial1.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial1="";} let rozdzial2=null; let tit=titles[parseInt(t)+1]; if( tit && re.test(tit) && re_strona.test(tit)){ rozdzial2=tit.replace(re,"$2"); rozdzial2=rozdzial2.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial2="";} /*---------------------------*/ szablon_artykulu="{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|TekstRozdziałuStrony|"+strona+"|"+rozdzial1+"|"+rozdzial2+"}}}}"; } szablon_artykulu="{{PrzytnijTekst|"+szablon_artykulu+"}}"; if(stronasubst_opakuj_kategorie_ze_sortowaniem){ szablon_artykulu="{{OpakujKategorieZeSortowaniem|"+szablon_artykulu+"}}" } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text|categories', title: strona, text: "<div class=\"hn hn_"+t+"\">\n"+szablon_artykulu+"\n</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); catlinks_fun.AnalizaKategorii(data).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);} WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2).then((result) => {}).catch((error) => {}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function CzyszczenieZZdarzeńTableOfContent(){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } } } CzyszczenieZZdarzeńTableOfContent(); let tab_promise2=new StronicowyParser.SugerowaneObiekty(); async function CzyStronaSubst(element,aktualna_strona,tab_promise2){ if(tab_promise2){tab_promise2.push(true);} await StronicowyParser.muteks.zablokuj(); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronaSubst}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.expandtemplates.wikitext; if((wikikod!==null)&&(aktualna_strona!==null)){ if(tab_promise2){tab_promise2.push(true);} StronaSubst(element,wikikod,aktualna_strona,tab_promise2).then((result) => {}).catch((error) => {}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } let aktualna_strona=StronicowyParser.pageinfo.fullname; if(tab_promise2){tab_promise2.push(true,true);} CzyStronaSubst(document,aktualna_strona,tab_promise2); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} function Progress(){ var c=document.createElement('div'); c.setAttribute("id","pasek_postępu") c.setAttribute('style','line-height:1.2em;margin-top:-2px;margin-left:-2px;position:absolute;width:250px;height:80px;border:1px solid black;box-sizing:border-box;padding:6px;background-color:white;display:flex;flex-direction:column;box-sizing:border-box;'); var label=document.createElement('label'); label.setAttribute('for','file1'); label.innerHTML="<span style=\"color:blue;\">Ukończone wątki: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_0=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file1') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;'); progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_1=c.appendChild(progress); var label=document.createElement('label'); label.setAttribute('for','file2'); label.innerHTML="<span style=\"color:blue;\">Zwolnione blokaty: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_1=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file2') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;') progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_2=c.appendChild(progress); function PozycjaXY(){ c.style.top=(window.scrollY+document.documentElement.clientHeight-parseFloat(c.style.height))+"px"; c.style.left=(window.scrollX+document.documentElement.clientWidth-parseFloat(c.style.width))+"px"; } document.querySelector('body').appendChild(c); PozycjaXY(); $(window).on('scroll',PozycjaXY); $(window).on('resize',PozycjaXY); return new Array(element_body_progress_1,element_body_progress_2,span_0,span_1); } var arr; function __FUNKCJA(arr){ arr[0].setAttribute("value","0"); arr[1].setAttribute("value","0"); let dodatnie_0=tab_promise2.lengthPlus; let ujemne_0=tab_promise2.lengthMinus; let dodatnie_1=StronicowyParser.muteks.LiczbaBlokatPlus; let ujemne_1=StronicowyParser.muteks.LiczbaBlokatMinus; let postep_0=((dodatnie_0>0)?((ujemne_0/dodatnie_0)*100):0); let postep_1=((dodatnie_1>0)?((ujemne_1/dodatnie_1)*100):0); arr[0].setAttribute("value",postep_0); arr[1].setAttribute("value",postep_1); arr[2].innerHTML=(parseInt(postep_0*1000)/1000)+"%"; arr[3].innerHTML=(parseInt(postep_1*1000)/1000)+"%"; } StronicowyParser.CzekajNaZakaczenie(tab_promise2,null,StronicowyParser.muteks,(tab_promise)=>{arr=Progress();__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);setTimeout(function(){let node_postep=document.getElementById('pasek_postępu');$(node_postep).remove();},2000);}).then(async (result) => {}).catch(()=>{}); }; StronicowyParser.WyswietlStronyKsiazki().then((result) => {}).catch((error) => {}); }); nurnpnmoj4xldmktu7812r8dzbhmg36 Szablon:StronaStart/stronastart.css 10 58549 437289 437238 2022-08-09T12:01: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: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{ height:100% !important; max-height:100% !important; width:100%; max-width:700px; } .strona_prawa .mw-sticky-y.spis.mw-sticky-js.mw-scrollbar-overflow-x:not(:hover){ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa, html.client-nojs .strona_lewa{ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:relative !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: 100% !important; max-width:calc( 100% - 5px ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:100% !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:auto !important; } .strona_prawa .mw-sticky-y.spis:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); /**/ transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_prawa .mw-sticky-y.spis:hover{ max-width:700px !important; transform: scale(1,1) translate(0,0); transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .pierwsza_strona.mw-overflow-y.mw-scrollbar-overflow-y{ padding-right:10px; } .strona_prawa .pierwsza_strona .wikitable{ margin-top:5px; margin-bottom:5px; } .strona_start{ background-color:white; } .strona_start .główna_strona.tło{ background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); } html.client-nojs .strona_prawa .nawigacja_boksy, html.client-nojs .strona_lewa .nawigacja_boksy{ margin-top:5px !important; visibility:visible !important; } .strona_prawa .mw-optimal-x:hover, .strona_lewa .mw-optimal-x:hover{ transform: scale(1,1) translate(0,0); max-width:none !important; transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(117%,-117%); } .strona_lewa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); } .strona_prawa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover), .strona_lewa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover){ overflow:auto; } html.client-nojs .strona_prawa .mw-optimal-x, html.client-nojs .strona_lewa .mw-optimal-x{ overflow:auto !important; visibility:visible !important; position:relative !important; z-index:1 !important; direction: rtl; width: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ z-index:3 !important; width:100% !important; max-width:calc( 100% - 5px ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: auto !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:auto !important; max-width:calc( 100% - 5px )!important; } .strona_prawa .mw-optimal-x:not(:hover), .strona_lewa .mw-optimal-x:not(:hover){ transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 4s; } .strona_prawa .mw-optimal-x, .strona_lewa .mw-optimal-x{ display:flex; flex-direction:column; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:hover{ background-color:blue !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:active{ background-color:grey !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:not(:hover):not(:active){ background-color:white !important; color:black !important; } .strona h1, .strona h2,.strona h3,.strona h4,.strona h5,.strona h6{ text-align:left; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p) + p, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).noprint + p{ margin-top:0.6em; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatright + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tright + p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:last-of-type{ margin-bottom:0; } @media print{ .noprint{ display:none; } .print{ display:block; } } .gallerytext, .plainlinks{ text-align:left; } .strona.mw-scrollbar-overflow-x{ padding-bottom:5px; } .strona.mw-scrollbar-overflow-y{ padding-right:5px; } gt7byh5sjc3jn8d62q1axaqrbh53er7 437293 437289 2022-08-09T12:27:02Z Persino 2851 sanitized-css text/css .strona_prawa .spis{ display:flex; width:100%; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child > th{ width:calc( 100% - 8px ); margin:0 4px; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; width:auto; display:flex !important; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści{ height:100%; width:auto; display:flex !important; flex-direction:column; box-sizing:border-box; margin:0; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ display:flex; flex-direction:column; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child{ height:20px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child{ height: calc( 100% - 20px ); } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ height:100%; width:100%; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis ul, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis li{ display:grid; height:100%; width:auto; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ padding:0 3px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ height:100% !important; max-height:100% !important; width:auto; max-width:700px; } .strona_prawa .mw-sticky-y.spis.mw-sticky-js.mw-scrollbar-overflow-x:not(:hover){ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa, html.client-nojs .strona_lewa{ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:relative !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: 100% !important; max-width:calc( 100% - 5px ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:100% !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:auto !important; } .strona_prawa .mw-sticky-y.spis:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); /**/ transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_prawa .mw-sticky-y.spis:hover{ max-width:700px !important; transform: scale(1,1) translate(0,0); transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .pierwsza_strona.mw-overflow-y.mw-scrollbar-overflow-y{ padding-right:10px; } .strona_prawa .pierwsza_strona .wikitable{ margin-top:5px; margin-bottom:5px; } .strona_start{ background-color:white; } .strona_start .główna_strona.tło{ background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); } html.client-nojs .strona_prawa .nawigacja_boksy, html.client-nojs .strona_lewa .nawigacja_boksy{ margin-top:5px !important; visibility:visible !important; } .strona_prawa .mw-optimal-x:hover, .strona_lewa .mw-optimal-x:hover{ transform: scale(1,1) translate(0,0); max-width:none !important; transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(117%,-117%); } .strona_lewa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); } .strona_prawa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover), .strona_lewa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover){ overflow:auto; } html.client-nojs .strona_prawa .mw-optimal-x, html.client-nojs .strona_lewa .mw-optimal-x{ overflow:auto !important; visibility:visible !important; position:relative !important; z-index:1 !important; direction: rtl; width: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ z-index:3 !important; width:100% !important; max-width:calc( 100% - 5px ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: auto !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:auto !important; max-width:calc( 100% - 5px )!important; } .strona_prawa .mw-optimal-x:not(:hover), .strona_lewa .mw-optimal-x:not(:hover){ transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 4s; } .strona_prawa .mw-optimal-x, .strona_lewa .mw-optimal-x{ display:flex; flex-direction:column; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:hover{ background-color:blue !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:active{ background-color:grey !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:not(:hover):not(:active){ background-color:white !important; color:black !important; } .strona h1, .strona h2,.strona h3,.strona h4,.strona h5,.strona h6{ text-align:left; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p) + p, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).noprint + p{ margin-top:0.6em; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatright + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tright + p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:last-of-type{ margin-bottom:0; } @media print{ .noprint{ display:none; } .print{ display:block; } } .gallerytext, .plainlinks{ text-align:left; } .strona.mw-scrollbar-overflow-x{ padding-bottom:5px; } .strona.mw-scrollbar-overflow-y{ padding-right:5px; } giu01ltziw71o6ux26d509fr2r6ild3 437294 437293 2022-08-09T12:29:31Z Persino 2851 sanitized-css text/css .strona_prawa .spis{ display:flex; width:100%; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child > th{ width:calc( 100% - 8px ); margin:0 4px; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; width:auto; display:flex !important; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści{ height:100%; width:auto; display:flex !important; flex-direction:column; box-sizing:border-box; margin:0; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ display:flex; flex-direction:column; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child{ height:20px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child{ height: calc( 100% - 20px ); } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ height:100%; width:100%; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis ul, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis li{ display:grid; height:100%; width:auto; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ padding:0 3px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ height:100% !important; max-height:100% !important; width:auto; max-width:700px; } .strona_prawa .mw-sticky-y.spis.mw-sticky-js.mw-scrollbar-overflow-x:not(:hover){ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa, html.client-nojs .strona_lewa{ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:relative !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: 100% !important; max-width:calc( 100% - 5px ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:100% !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:auto !important; } .strona_prawa .mw-sticky-y.spis:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); /**/ transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_prawa .mw-sticky-y.spis:hover{ max-width:700px !important; transform: scale(1,1) translate(0,0); transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .pierwsza_strona.mw-overflow-y.mw-scrollbar-overflow-y{ padding-right:10px; } .strona_prawa .pierwsza_strona .wikitable{ margin-top:5px; margin-bottom:5px; } .strona_start{ background-color:white; } .strona_start .główna_strona.tło{ background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); } html.client-nojs .strona_prawa .nawigacja_boksy, html.client-nojs .strona_lewa .nawigacja_boksy{ margin-top:5px !important; visibility:visible !important; } .strona_prawa .mw-optimal-x:hover, .strona_lewa .mw-optimal-x:hover{ transform: scale(1,1) translate(0,0); max-width:none !important; transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(117%,-117%); } .strona_lewa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); } .strona_prawa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover), .strona_lewa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover){ overflow:auto; } html.client-nojs .strona_prawa .mw-optimal-x, html.client-nojs .strona_lewa .mw-optimal-x{ overflow:auto !important; visibility:visible !important; position:relative !important; z-index:1 !important; direction: rtl; width: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ z-index:3 !important; width:100% !important; max-width:calc( 100% - 5px ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: auto !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:auto !important; max-width:calc( 100% - 5px )!important; } .strona_prawa .mw-optimal-x:not(:hover), .strona_lewa .mw-optimal-x:not(:hover){ transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 4s; } .strona_prawa .mw-optimal-x, .strona_lewa .mw-optimal-x{ display:flex; flex-direction:column; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:hover{ background-color:blue !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:active{ background-color:grey !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:not(:hover):not(:active){ background-color:white !important; color:black !important; } .strona h1, .strona h2,.strona h3,.strona h4,.strona h5,.strona h6{ text-align:left; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p) + p, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).noprint + p{ margin-top:0.6em; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatright + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tright + p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:last-of-type{ margin-bottom:0; } @media print{ .noprint{ display:none; } .print{ display:block; } } .gallerytext, .plainlinks{ text-align:left; } .strona.mw-scrollbar-overflow-x{ padding-bottom:5px; } .strona.mw-scrollbar-overflow-y{ padding-right:5px; } 0xt81bwhgkx04u6iqmxtr4nwwbdw8uq 437295 437294 2022-08-09T12:32:01Z Persino 2851 sanitized-css text/css .strona_prawa .spis{ display:flex; width:100%; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child > th{ width:calc( 100% - 8px ); margin:0 4px; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; width:auto; display:flex !important; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści{ height:100%; width:auto; display:flex !important; flex-direction:column; box-sizing:border-box; margin:0; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ display:flex; flex-direction:column; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child{ height:20px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child{ height: calc( 100% - 20px ); } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ height:100%; width:100%; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis ul, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis li{ display:grid; height:100%; width:auto; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ padding:0 3px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ height:100% !important; max-height:100% !important; width:auto; max-width:700px; } .strona_prawa .mw-sticky-y.spis.mw-sticky-js.mw-scrollbar-overflow-x:not(:hover){ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa, html.client-nojs .strona_lewa{ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:relative !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: 100% !important; max-width:calc( 100% - 5px ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:100% !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:auto !important; } .strona_prawa .mw-sticky-y.spis:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); /**/ transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_prawa .mw-sticky-y.spis:hover{ max-width:700px !important; transform: scale(1,1) translate(0,0); transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .pierwsza_strona.mw-overflow-y.mw-scrollbar-overflow-y{ padding-right:10px; } .strona_prawa .pierwsza_strona .wikitable{ margin-top:5px; margin-bottom:5px; } .strona_start{ background-color:white; } .strona_start .główna_strona.tło{ background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); } html.client-nojs .strona_prawa .nawigacja_boksy, html.client-nojs .strona_lewa .nawigacja_boksy{ margin-top:5px !important; visibility:visible !important; } .strona_prawa .mw-optimal-x:hover, .strona_lewa .mw-optimal-x:hover{ transform: scale(1,1) translate(0,0); max-width:none !important; transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(117%,-117%); } .strona_lewa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); } .strona_prawa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover), .strona_lewa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover){ overflow:auto; } html.client-nojs .strona_prawa .mw-optimal-x, html.client-nojs .strona_lewa .mw-optimal-x{ overflow:auto !important; visibility:visible !important; position:relative !important; z-index:1 !important; direction: rtl; width: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ z-index:3 !important; width:100% !important; max-width:calc( 100% - 5px ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: auto !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:auto !important; max-width:calc( 100% - 5px )!important; } .strona_prawa .mw-optimal-x:not(:hover), .strona_lewa .mw-optimal-x:not(:hover){ transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 4s; } .strona_prawa .mw-optimal-x, .strona_lewa .mw-optimal-x{ display:flex; flex-direction:column; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:hover{ background-color:blue !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:active{ background-color:grey !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:not(:hover):not(:active){ background-color:white !important; color:black !important; } .strona h1, .strona h2,.strona h3,.strona h4,.strona h5,.strona h6{ text-align:left; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p) + p, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).noprint + p{ margin-top:0.6em; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatright + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tright + p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:last-of-type{ margin-bottom:0; } @media print{ .noprint{ display:none; } .print{ display:block; } } .gallerytext, .plainlinks{ text-align:left; } .strona.mw-scrollbar-overflow-x{ padding-bottom:5px; } .strona.mw-scrollbar-overflow-y{ padding-right:5px; } giu01ltziw71o6ux26d509fr2r6ild3 437296 437295 2022-08-09T12:41:36Z Persino 2851 sanitized-css text/css .strona_prawa .spis{ display:flex; width:100%; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child > th{ width:calc( 100% - 8px ); margin:0 4px; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; width:auto; display:flex !important; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści{ height:100%; width:auto; display:flex !important; flex-direction:column; box-sizing:border-box; margin:0; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ display:flex; flex-direction:column; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child{ height:20px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child{ height: calc( 100% - 20px ); } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ height:100%; width:100%; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis ul, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis li{ display:grid; height:100%; width:auto; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ padding:0 3px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ height:100% !important; max-height:100% !important; width:auto; max-width:700px; } .strona_prawa .mw-sticky-y.spis.mw-sticky-js.mw-scrollbar-overflow-x:not(:hover){ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa, html.client-nojs .strona_lewa{ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:relative !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: 100% !important; max-width:calc( 100% - 5px ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:100% !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:auto !important; } .strona_prawa .mw-sticky-y.spis{ max-width:700px !important; } .strona_prawa .mw-sticky-y.spis:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); /**/ transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_prawa .mw-sticky-y.spis:hover{ transform: scale(1,1) translate(0,0); transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .pierwsza_strona.mw-overflow-y.mw-scrollbar-overflow-y{ padding-right:10px; } .strona_prawa .pierwsza_strona .wikitable{ margin-top:5px; margin-bottom:5px; } .strona_start{ background-color:white; } .strona_start .główna_strona.tło{ background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); } html.client-nojs .strona_prawa .nawigacja_boksy, html.client-nojs .strona_lewa .nawigacja_boksy{ margin-top:5px !important; visibility:visible !important; } .strona_prawa .mw-optimal-x:hover, .strona_lewa .mw-optimal-x:hover{ transform: scale(1,1) translate(0,0); max-width:none !important; transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(117%,-117%); } .strona_lewa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); } .strona_prawa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover), .strona_lewa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover){ overflow:auto; } html.client-nojs .strona_prawa .mw-optimal-x, html.client-nojs .strona_lewa .mw-optimal-x{ overflow:auto !important; visibility:visible !important; position:relative !important; z-index:1 !important; direction: rtl; width: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ z-index:3 !important; width:100% !important; max-width:calc( 100% - 5px ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: auto !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:auto !important; max-width:calc( 100% - 5px )!important; } .strona_prawa .mw-optimal-x:not(:hover), .strona_lewa .mw-optimal-x:not(:hover){ transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 4s; } .strona_prawa .mw-optimal-x, .strona_lewa .mw-optimal-x{ display:flex; flex-direction:column; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:hover{ background-color:blue !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:active{ background-color:grey !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:not(:hover):not(:active){ background-color:white !important; color:black !important; } .strona h1, .strona h2,.strona h3,.strona h4,.strona h5,.strona h6{ text-align:left; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p) + p, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).noprint + p{ margin-top:0.6em; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatright + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tright + p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:last-of-type{ margin-bottom:0; } @media print{ .noprint{ display:none; } .print{ display:block; } } .gallerytext, .plainlinks{ text-align:left; } .strona.mw-scrollbar-overflow-x{ padding-bottom:5px; } .strona.mw-scrollbar-overflow-y{ padding-right:5px; } p4csc558uaathtu6jfv58h40iojtmle 437297 437296 2022-08-09T13:04:13Z Persino 2851 sanitized-css text/css .strona_prawa .spis{ display:flex; width:100%; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child > th{ width:calc( 100% - 8px ); margin:0 4px; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; width:auto; display:flex !important; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści{ height:100%; width:auto; display:flex !important; flex-direction:column; box-sizing:border-box; margin:0; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ display:flex; flex-direction:column; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child{ height:20px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child{ height: calc( 100% - 20px ); } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ height:100%; width:100%; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis ul, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis li{ display:grid; height:100%; width:auto; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ padding:0 3px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ height:100% !important; max-height:100% !important; width:auto; max-width:calc( 700px - 4px ); } .strona_prawa .mw-sticky-y.spis.mw-sticky-js.mw-scrollbar-overflow-x:not(:hover){ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa, html.client-nojs .strona_lewa{ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:relative !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: 100% !important; max-width:calc( 100% - 5px ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:100% !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:auto !important; } .strona_prawa .mw-sticky-y.spis{ max-width:700px !important; } .strona_prawa .mw-sticky-y.spis:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); /**/ transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_prawa .mw-sticky-y.spis:hover{ transform: scale(1,1) translate(0,0); transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .pierwsza_strona.mw-overflow-y.mw-scrollbar-overflow-y{ padding-right:10px; } .strona_prawa .pierwsza_strona .wikitable{ margin-top:5px; margin-bottom:5px; } .strona_start{ background-color:white; } .strona_start .główna_strona.tło{ background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); } html.client-nojs .strona_prawa .nawigacja_boksy, html.client-nojs .strona_lewa .nawigacja_boksy{ margin-top:5px !important; visibility:visible !important; } .strona_prawa .mw-optimal-x:hover, .strona_lewa .mw-optimal-x:hover{ transform: scale(1,1) translate(0,0); max-width:none !important; transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(117%,-117%); } .strona_lewa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); } .strona_prawa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover), .strona_lewa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover){ overflow:auto; } html.client-nojs .strona_prawa .mw-optimal-x, html.client-nojs .strona_lewa .mw-optimal-x{ overflow:auto !important; visibility:visible !important; position:relative !important; z-index:1 !important; direction: rtl; width: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ z-index:3 !important; width:100% !important; max-width:calc( 100% - 5px ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: auto !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:auto !important; max-width:calc( 100% - 5px )!important; } .strona_prawa .mw-optimal-x:not(:hover), .strona_lewa .mw-optimal-x:not(:hover){ transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 4s; } .strona_prawa .mw-optimal-x, .strona_lewa .mw-optimal-x{ display:flex; flex-direction:column; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:hover{ background-color:blue !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:active{ background-color:grey !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:not(:hover):not(:active){ background-color:white !important; color:black !important; } .strona h1, .strona h2,.strona h3,.strona h4,.strona h5,.strona h6{ text-align:left; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p) + p, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).noprint + p{ margin-top:0.6em; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatright + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tright + p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:last-of-type{ margin-bottom:0; } @media print{ .noprint{ display:none; } .print{ display:block; } } .gallerytext, .plainlinks{ text-align:left; } .strona.mw-scrollbar-overflow-x{ padding-bottom:5px; } .strona.mw-scrollbar-overflow-y{ padding-right:5px; } sfz7luo4kd7ybjlra5kvarb335zyjho 437298 437297 2022-08-09T13:05:05Z Persino 2851 sanitized-css text/css .strona_prawa .spis{ display:flex; width:100%; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child > th{ width:calc( 100% - 8px ); margin:0 4px; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; width:auto; display:flex !important; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści{ height:100%; width:auto; display:flex !important; flex-direction:column; box-sizing:border-box; margin:0; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ display:flex; flex-direction:column; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child{ height:20px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child{ height: calc( 100% - 20px ); } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ height:100%; width:100%; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis ul, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis li{ display:grid; height:100%; width:auto; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ padding:0 3px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ height:100% !important; max-height:100% !important; width:auto; max-width:700px; } .strona_prawa .mw-sticky-y.spis.mw-sticky-js.mw-scrollbar-overflow-x:not(:hover){ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa, html.client-nojs .strona_lewa{ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:relative !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: 100% !important; max-width:calc( 100% - 5px ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:100% !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:auto !important; } .strona_prawa .mw-sticky-y.spis{ max-width:700px !important; } .strona_prawa .mw-sticky-y.spis:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); /**/ transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_prawa .mw-sticky-y.spis:hover{ transform: scale(1,1) translate(0,0); transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .pierwsza_strona.mw-overflow-y.mw-scrollbar-overflow-y{ padding-right:10px; } .strona_prawa .pierwsza_strona .wikitable{ margin-top:5px; margin-bottom:5px; } .strona_start{ background-color:white; } .strona_start .główna_strona.tło{ background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); } html.client-nojs .strona_prawa .nawigacja_boksy, html.client-nojs .strona_lewa .nawigacja_boksy{ margin-top:5px !important; visibility:visible !important; } .strona_prawa .mw-optimal-x:hover, .strona_lewa .mw-optimal-x:hover{ transform: scale(1,1) translate(0,0); max-width:none !important; transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(117%,-117%); } .strona_lewa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); } .strona_prawa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover), .strona_lewa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover){ overflow:auto; } html.client-nojs .strona_prawa .mw-optimal-x, html.client-nojs .strona_lewa .mw-optimal-x{ overflow:auto !important; visibility:visible !important; position:relative !important; z-index:1 !important; direction: rtl; width: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ z-index:3 !important; width:100% !important; max-width:calc( 100% - 5px ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: auto !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:auto !important; max-width:calc( 100% - 5px )!important; } .strona_prawa .mw-optimal-x:not(:hover), .strona_lewa .mw-optimal-x:not(:hover){ transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 4s; } .strona_prawa .mw-optimal-x, .strona_lewa .mw-optimal-x{ display:flex; flex-direction:column; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:hover{ background-color:blue !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:active{ background-color:grey !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:not(:hover):not(:active){ background-color:white !important; color:black !important; } .strona h1, .strona h2,.strona h3,.strona h4,.strona h5,.strona h6{ text-align:left; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p) + p, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).noprint + p{ margin-top:0.6em; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatright + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tright + p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:last-of-type{ margin-bottom:0; } @media print{ .noprint{ display:none; } .print{ display:block; } } .gallerytext, .plainlinks{ text-align:left; } .strona.mw-scrollbar-overflow-x{ padding-bottom:5px; } .strona.mw-scrollbar-overflow-y{ padding-right:5px; } p4csc558uaathtu6jfv58h40iojtmle 437299 437298 2022-08-09T13:10:48Z Persino 2851 sanitized-css text/css .strona_prawa .spis{ display:flex; width:100%; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child > th{ width:calc( 100% - 8px ); margin:0 4px; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; width:auto; display:flex !important; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści{ height:100%; width:auto; display:flex !important; flex-direction:column; box-sizing:border-box; margin:0; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ display:flex; flex-direction:column; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child{ height:20px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child{ height: calc( 100% - 20px ); } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ height:100%; width:100%; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis ul, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis li{ display:grid; height:100%; width:auto; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ padding:0 3px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ height:100% !important; max-height:100% !important; width:auto; max-width:696px; } .strona_prawa .mw-sticky-y.spis.mw-sticky-js.mw-scrollbar-overflow-x:not(:hover){ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa, html.client-nojs .strona_lewa{ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:relative !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: 100% !important; max-width:calc( 100% - 5px ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:100% !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:auto !important; } .strona_prawa .mw-sticky-y.spis{ max-width:700px !important; } .strona_prawa .mw-sticky-y.spis:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); /**/ transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_prawa .mw-sticky-y.spis:hover{ transform: scale(1,1) translate(0,0); transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .pierwsza_strona.mw-overflow-y.mw-scrollbar-overflow-y{ padding-right:10px; } .strona_prawa .pierwsza_strona .wikitable{ margin-top:5px; margin-bottom:5px; } .strona_start{ background-color:white; } .strona_start .główna_strona.tło{ background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); } html.client-nojs .strona_prawa .nawigacja_boksy, html.client-nojs .strona_lewa .nawigacja_boksy{ margin-top:5px !important; visibility:visible !important; } .strona_prawa .mw-optimal-x:hover, .strona_lewa .mw-optimal-x:hover{ transform: scale(1,1) translate(0,0); max-width:none !important; transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(117%,-117%); } .strona_lewa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); } .strona_prawa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover), .strona_lewa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover){ overflow:auto; } html.client-nojs .strona_prawa .mw-optimal-x, html.client-nojs .strona_lewa .mw-optimal-x{ overflow:auto !important; visibility:visible !important; position:relative !important; z-index:1 !important; direction: rtl; width: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ z-index:3 !important; width:100% !important; max-width:calc( 100% - 5px ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: auto !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:auto !important; max-width:calc( 100% - 5px )!important; } .strona_prawa .mw-optimal-x:not(:hover), .strona_lewa .mw-optimal-x:not(:hover){ transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 4s; } .strona_prawa .mw-optimal-x, .strona_lewa .mw-optimal-x{ display:flex; flex-direction:column; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:hover{ background-color:blue !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:active{ background-color:grey !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:not(:hover):not(:active){ background-color:white !important; color:black !important; } .strona h1, .strona h2,.strona h3,.strona h4,.strona h5,.strona h6{ text-align:left; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p) + p, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).noprint + p{ margin-top:0.6em; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatright + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tright + p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:last-of-type{ margin-bottom:0; } @media print{ .noprint{ display:none; } .print{ display:block; } } .gallerytext, .plainlinks{ text-align:left; } .strona.mw-scrollbar-overflow-x{ padding-bottom:5px; } .strona.mw-scrollbar-overflow-y{ padding-right:5px; } 5svy88ef51j182pe0c189dup2lpkvyn 437300 437299 2022-08-09T13:14:37Z Persino 2851 sanitized-css text/css .strona_prawa .spis{ display:flex; width:100%; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child > th{ width:calc( 100% - 8px ); margin:0 4px; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; width:auto; display:flex !important; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści{ height:100%; width:auto; display:flex !important; flex-direction:column; box-sizing:border-box; margin:0; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ display:flex; flex-direction:column; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child{ height:20px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child{ height: calc( 100% - 20px ); } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ height:100%; width:100%; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis ul, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis li{ display:grid; height:100%; width:auto; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ padding:0 3px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis.mw-scrollbar-overflow-y{ height:100% !important; max-height:100% !important; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis.mw-scrollbar-overflow-x{ width:100%; max-width:700px; } .strona_prawa .mw-sticky-y.spis.mw-sticky-js.mw-scrollbar-overflow-x:not(:hover){ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa, html.client-nojs .strona_lewa{ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:relative !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: 100% !important; max-width:calc( 100% - 5px ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:100% !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:auto !important; } .strona_prawa .mw-sticky-y.spis:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); /**/ transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_prawa .mw-sticky-y.spis:hover{ max-width:700px !important; transform: scale(1,1) translate(0,0); transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .pierwsza_strona.mw-overflow-y.mw-scrollbar-overflow-y{ padding-right:10px; } .strona_prawa .pierwsza_strona .wikitable{ margin-top:5px; margin-bottom:5px; } .strona_start{ background-color:white; } .strona_start .główna_strona.tło{ background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); } html.client-nojs .strona_prawa .nawigacja_boksy, html.client-nojs .strona_lewa .nawigacja_boksy{ margin-top:5px !important; visibility:visible !important; } .strona_prawa .mw-optimal-x:hover, .strona_lewa .mw-optimal-x:hover{ transform: scale(1,1) translate(0,0); max-width:none !important; transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(117%,-117%); } .strona_lewa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); } .strona_prawa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover), .strona_lewa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover){ overflow:auto; } html.client-nojs .strona_prawa .mw-optimal-x, html.client-nojs .strona_lewa .mw-optimal-x{ overflow:auto !important; visibility:visible !important; position:relative !important; z-index:1 !important; direction: rtl; width: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ z-index:3 !important; width:100% !important; max-width:calc( 100% - 5px ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: auto !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:auto !important; max-width:calc( 100% - 5px )!important; } .strona_prawa .mw-optimal-x:not(:hover), .strona_lewa .mw-optimal-x:not(:hover){ transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 4s; } .strona_prawa .mw-optimal-x, .strona_lewa .mw-optimal-x{ display:flex; flex-direction:column; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:hover{ background-color:blue !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:active{ background-color:grey !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:not(:hover):not(:active){ background-color:white !important; color:black !important; } .strona h1, .strona h2,.strona h3,.strona h4,.strona h5,.strona h6{ text-align:left; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p) + p, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).noprint + p{ margin-top:0.6em; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatright + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tright + p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:last-of-type{ margin-bottom:0; } @media print{ .noprint{ display:none; } .print{ display:block; } } .gallerytext, .plainlinks{ text-align:left; } .strona.mw-scrollbar-overflow-x{ padding-bottom:5px; } .strona.mw-scrollbar-overflow-y{ padding-right:5px; } i6a7yi2auphlw93q418zxtkaiva6oar 437301 437300 2022-08-09T13:18:21Z Persino 2851 sanitized-css text/css .strona_prawa .spis{ display:flex; width:100%; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child > th{ width:calc( 100% - 8px ); margin:0 4px; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; width:auto; display:flex !important; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści{ height:100%; width:auto; display:flex !important; flex-direction:column; box-sizing:border-box; margin:0; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ display:flex; flex-direction:column; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child{ height:20px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child{ height: calc( 100% - 20px ); } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ height:100%; width:100%; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis ul, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis li{ display:grid; height:100%; width:auto; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ padding:0 3px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ height:100% !important; max-height:100% !important; /*width:auto;*/ max-width:696px; } .strona_prawa .mw-sticky-y.spis.mw-sticky-js.mw-scrollbar-overflow-x:not(:hover){ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa, html.client-nojs .strona_lewa{ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:relative !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: 100% !important; max-width:calc( 100% - 5px ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:100% !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:auto !important; } .strona_prawa .mw-sticky-y.spis{ max-width:700px !important; } .strona_prawa .mw-sticky-y.spis:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); /**/ transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_prawa .mw-sticky-y.spis:hover{ transform: scale(1,1) translate(0,0); transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .pierwsza_strona.mw-overflow-y.mw-scrollbar-overflow-y{ padding-right:10px; } .strona_prawa .pierwsza_strona .wikitable{ margin-top:5px; margin-bottom:5px; } .strona_start{ background-color:white; } .strona_start .główna_strona.tło{ background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); } html.client-nojs .strona_prawa .nawigacja_boksy, html.client-nojs .strona_lewa .nawigacja_boksy{ margin-top:5px !important; visibility:visible !important; } .strona_prawa .mw-optimal-x:hover, .strona_lewa .mw-optimal-x:hover{ transform: scale(1,1) translate(0,0); max-width:none !important; transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(117%,-117%); } .strona_lewa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); } .strona_prawa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover), .strona_lewa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover){ overflow:auto; } html.client-nojs .strona_prawa .mw-optimal-x, html.client-nojs .strona_lewa .mw-optimal-x{ overflow:auto !important; visibility:visible !important; position:relative !important; z-index:1 !important; direction: rtl; width: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ z-index:3 !important; width:100% !important; max-width:calc( 100% - 5px ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: auto !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:auto !important; max-width:calc( 100% - 5px )!important; } .strona_prawa .mw-optimal-x:not(:hover), .strona_lewa .mw-optimal-x:not(:hover){ transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 4s; } .strona_prawa .mw-optimal-x, .strona_lewa .mw-optimal-x{ display:flex; flex-direction:column; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:hover{ background-color:blue !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:active{ background-color:grey !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:not(:hover):not(:active){ background-color:white !important; color:black !important; } .strona h1, .strona h2,.strona h3,.strona h4,.strona h5,.strona h6{ text-align:left; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p) + p, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).noprint + p{ margin-top:0.6em; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatright + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tright + p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:last-of-type{ margin-bottom:0; } @media print{ .noprint{ display:none; } .print{ display:block; } } .gallerytext, .plainlinks{ text-align:left; } .strona.mw-scrollbar-overflow-x{ padding-bottom:5px; } .strona.mw-scrollbar-overflow-y{ padding-right:5px; } sbyo2xwcqttkoqzw3oz65d0gett7do0 437302 437301 2022-08-09T13:19:01Z Persino 2851 sanitized-css text/css .strona_prawa .spis{ display:flex; width:100%; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child > th{ width:calc( 100% - 8px ); margin:0 4px; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; width:auto; display:flex !important; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści{ height:100%; width:auto; display:flex !important; flex-direction:column; box-sizing:border-box; margin:0; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ display:flex; flex-direction:column; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child{ height:20px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child{ height: calc( 100% - 20px ); } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ height:100%; width:100%; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis ul, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis li{ display:grid; height:100%; width:auto; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ padding:0 3px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis.mw-scrollbar-overflow-y{ height:100% !important; max-height:100% !important; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis.mw-scrollbar-overflow-x{ width:100%; max-width:700px; } .strona_prawa .mw-sticky-y.spis.mw-sticky-js.mw-scrollbar-overflow-x:not(:hover){ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa, html.client-nojs .strona_lewa{ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:relative !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: 100% !important; max-width:calc( 100% - 5px ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:100% !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:auto !important; } .strona_prawa .mw-sticky-y.spis:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); /**/ transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_prawa .mw-sticky-y.spis:hover{ max-width:700px !important; transform: scale(1,1) translate(0,0); transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .pierwsza_strona.mw-overflow-y.mw-scrollbar-overflow-y{ padding-right:10px; } .strona_prawa .pierwsza_strona .wikitable{ margin-top:5px; margin-bottom:5px; } .strona_start{ background-color:white; } .strona_start .główna_strona.tło{ background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); } html.client-nojs .strona_prawa .nawigacja_boksy, html.client-nojs .strona_lewa .nawigacja_boksy{ margin-top:5px !important; visibility:visible !important; } .strona_prawa .mw-optimal-x:hover, .strona_lewa .mw-optimal-x:hover{ transform: scale(1,1) translate(0,0); max-width:none !important; transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(117%,-117%); } .strona_lewa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); } .strona_prawa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover), .strona_lewa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover){ overflow:auto; } html.client-nojs .strona_prawa .mw-optimal-x, html.client-nojs .strona_lewa .mw-optimal-x{ overflow:auto !important; visibility:visible !important; position:relative !important; z-index:1 !important; direction: rtl; width: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ z-index:3 !important; width:100% !important; max-width:calc( 100% - 5px ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: auto !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:auto !important; max-width:calc( 100% - 5px )!important; } .strona_prawa .mw-optimal-x:not(:hover), .strona_lewa .mw-optimal-x:not(:hover){ transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 4s; } .strona_prawa .mw-optimal-x, .strona_lewa .mw-optimal-x{ display:flex; flex-direction:column; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:hover{ background-color:blue !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:active{ background-color:grey !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:not(:hover):not(:active){ background-color:white !important; color:black !important; } .strona h1, .strona h2,.strona h3,.strona h4,.strona h5,.strona h6{ text-align:left; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p) + p, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).noprint + p{ margin-top:0.6em; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatright + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tright + p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:last-of-type{ margin-bottom:0; } @media print{ .noprint{ display:none; } .print{ display:block; } } .gallerytext, .plainlinks{ text-align:left; } .strona.mw-scrollbar-overflow-x{ padding-bottom:5px; } .strona.mw-scrollbar-overflow-y{ padding-right:5px; } i6a7yi2auphlw93q418zxtkaiva6oar 437303 437302 2022-08-09T13:21:02Z Persino 2851 sanitized-css text/css .strona_prawa .spis{ display:flex; width:100%; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child > th{ width:calc( 100% - 8px ); margin:0 4px; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; width:auto; display:flex !important; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści{ height:100%; width:auto; display:flex !important; flex-direction:column; box-sizing:border-box; margin:0; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ display:flex; flex-direction:column; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child{ height:20px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child{ height: calc( 100% - 20px ); } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ height:100%; width:100%; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis ul, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis li{ display:grid; height:100%; width:auto; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ padding:0 3px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis.mw-scrollbar-overflow-y{ height:100% !important; max-height:100% !important; width:100%; max-width:696px; } .strona_prawa .mw-sticky-y.spis.mw-sticky-js.mw-scrollbar-overflow-x:not(:hover){ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa, html.client-nojs .strona_lewa{ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:relative !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: 100% !important; max-width:calc( 100% - 5px ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:100% !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:auto !important; } .strona_prawa .mw-sticky-y.spis:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); /**/ transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_prawa .mw-sticky-y.spis:hover{ max-width:700px !important; transform: scale(1,1) translate(0,0); transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .pierwsza_strona.mw-overflow-y.mw-scrollbar-overflow-y{ padding-right:10px; } .strona_prawa .pierwsza_strona .wikitable{ margin-top:5px; margin-bottom:5px; } .strona_start{ background-color:white; } .strona_start .główna_strona.tło{ background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); } html.client-nojs .strona_prawa .nawigacja_boksy, html.client-nojs .strona_lewa .nawigacja_boksy{ margin-top:5px !important; visibility:visible !important; } .strona_prawa .mw-optimal-x:hover, .strona_lewa .mw-optimal-x:hover{ transform: scale(1,1) translate(0,0); max-width:none !important; transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(117%,-117%); } .strona_lewa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); } .strona_prawa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover), .strona_lewa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover){ overflow:auto; } html.client-nojs .strona_prawa .mw-optimal-x, html.client-nojs .strona_lewa .mw-optimal-x{ overflow:auto !important; visibility:visible !important; position:relative !important; z-index:1 !important; direction: rtl; width: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ z-index:3 !important; width:100% !important; max-width:calc( 100% - 5px ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: auto !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:auto !important; max-width:calc( 100% - 5px )!important; } .strona_prawa .mw-optimal-x:not(:hover), .strona_lewa .mw-optimal-x:not(:hover){ transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 4s; } .strona_prawa .mw-optimal-x, .strona_lewa .mw-optimal-x{ display:flex; flex-direction:column; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:hover{ background-color:blue !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:active{ background-color:grey !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:not(:hover):not(:active){ background-color:white !important; color:black !important; } .strona h1, .strona h2,.strona h3,.strona h4,.strona h5,.strona h6{ text-align:left; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p) + p, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).noprint + p{ margin-top:0.6em; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatright + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tright + p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:last-of-type{ margin-bottom:0; } @media print{ .noprint{ display:none; } .print{ display:block; } } .gallerytext, .plainlinks{ text-align:left; } .strona.mw-scrollbar-overflow-x{ padding-bottom:5px; } .strona.mw-scrollbar-overflow-y{ padding-right:5px; } 6nuuxu2dv6jof26sj5zio5vu6xwlq3v 437306 437303 2022-08-09T13:40: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 > tr:first-child{ height:20px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child{ height: calc( 100% - 20px ); } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ height:100%; width:100%; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis ul, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis li{ display:grid; height:100%; width:auto; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ padding:0 3px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis/*.mw-scrollbar-overflow-y*/{ height:100% !important; max-height:100% !important; /*width:100%;*/ max-width:696px; } .strona_prawa .mw-sticky-y.spis.mw-sticky-js.mw-scrollbar-overflow-x:not(:hover){ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa, html.client-nojs .strona_lewa{ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:relative !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: 100% !important; max-width:calc( 100% - 5px ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:100% !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:auto !important; } .strona_prawa .mw-sticky-y.spis:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); /**/ transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_prawa .mw-sticky-y.spis:hover{ max-width:700px !important; transform: scale(1,1) translate(0,0); transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .pierwsza_strona.mw-overflow-y.mw-scrollbar-overflow-y{ padding-right:10px; } .strona_prawa .pierwsza_strona .wikitable{ margin-top:5px; margin-bottom:5px; } .strona_start{ background-color:white; } .strona_start .główna_strona.tło{ background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); } html.client-nojs .strona_prawa .nawigacja_boksy, html.client-nojs .strona_lewa .nawigacja_boksy{ margin-top:5px !important; visibility:visible !important; } .strona_prawa .mw-optimal-x:hover, .strona_lewa .mw-optimal-x:hover{ transform: scale(1,1) translate(0,0); max-width:none !important; transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(117%,-117%); } .strona_lewa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); } .strona_prawa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover), .strona_lewa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover){ overflow:auto; } html.client-nojs .strona_prawa .mw-optimal-x, html.client-nojs .strona_lewa .mw-optimal-x{ overflow:auto !important; visibility:visible !important; position:relative !important; z-index:1 !important; direction: rtl; width: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ z-index:3 !important; width:100% !important; max-width:calc( 100% - 5px ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: auto !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:auto !important; max-width:calc( 100% - 5px )!important; } .strona_prawa .mw-optimal-x:not(:hover), .strona_lewa .mw-optimal-x:not(:hover){ transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 4s; } .strona_prawa .mw-optimal-x, .strona_lewa .mw-optimal-x{ display:flex; flex-direction:column; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:hover{ background-color:blue !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:active{ background-color:grey !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:not(:hover):not(:active){ background-color:white !important; color:black !important; } .strona h1, .strona h2,.strona h3,.strona h4,.strona h5,.strona h6{ text-align:left; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p) + p, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).noprint + p{ margin-top:0.6em; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatright + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tright + p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:last-of-type{ margin-bottom:0; } @media print{ .noprint{ display:none; } .print{ display:block; } } .gallerytext, .plainlinks{ text-align:left; } .strona.mw-scrollbar-overflow-x{ padding-bottom:5px; } .strona.mw-scrollbar-overflow-y{ padding-right:5px; } 2nc43zkpv7lku0m3u4cqyt17697l75d 437307 437306 2022-08-09T13:41: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:grid; height:100%; width:auto; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ padding:0 3px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis/*.mw-scrollbar-overflow-y*/{ height:100% !important; max-height:100% !important; /*width:100%;*/ max-width:694px; } .strona_prawa .mw-sticky-y.spis.mw-sticky-js.mw-scrollbar-overflow-x:not(:hover){ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa, html.client-nojs .strona_lewa{ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:relative !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: 100% !important; max-width:calc( 100% - 5px ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:100% !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:auto !important; } .strona_prawa .mw-sticky-y.spis:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); /**/ transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right ,left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_prawa .mw-sticky-y.spis:hover{ max-width:700px !important; transform: scale(1,1) translate(0,0); transition: transform, max-width, width, max-height, height, right, left, top, bottom 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, right, left, top, bottom; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .pierwsza_strona.mw-overflow-y.mw-scrollbar-overflow-y{ padding-right:10px; } .strona_prawa .pierwsza_strona .wikitable{ margin-top:5px; margin-bottom:5px; } .strona_start{ background-color:white; } .strona_start .główna_strona.tło{ background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); } html.client-nojs .strona_prawa .nawigacja_boksy, html.client-nojs .strona_lewa .nawigacja_boksy{ margin-top:5px !important; visibility:visible !important; } .strona_prawa .mw-optimal-x:hover, .strona_lewa .mw-optimal-x:hover{ transform: scale(1,1) translate(0,0); max-width:none !important; transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(117%,-117%); } .strona_lewa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); } .strona_prawa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover), .strona_lewa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover){ overflow:auto; } html.client-nojs .strona_prawa .mw-optimal-x, html.client-nojs .strona_lewa .mw-optimal-x{ overflow:auto !important; visibility:visible !important; position:relative !important; z-index:1 !important; direction: rtl; width: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ z-index:3 !important; width:100% !important; max-width:calc( 100% - 5px ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: auto !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:auto !important; max-width:calc( 100% - 5px )!important; } .strona_prawa .mw-optimal-x:not(:hover), .strona_lewa .mw-optimal-x:not(:hover){ transition: transform, max-width, width, max-height, height, z-index 500ms ease-out, linear; transition-property: transform, max-width, width, max-height, height, z-index; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 4s; } .strona_prawa .mw-optimal-x, .strona_lewa .mw-optimal-x{ display:flex; flex-direction:column; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:hover{ background-color:blue !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:active{ background-color:grey !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:not(:hover):not(:active){ background-color:white !important; color:black !important; } .strona h1, .strona h2,.strona h3,.strona h4,.strona h5,.strona h6{ text-align:left; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p) + p, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).noprint + p{ margin-top:0.6em; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatright + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tright + p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:last-of-type{ margin-bottom:0; } @media print{ .noprint{ display:none; } .print{ display:block; } } .gallerytext, .plainlinks{ text-align:left; } .strona.mw-scrollbar-overflow-x{ padding-bottom:5px; } .strona.mw-scrollbar-overflow-y{ padding-right:5px; } 4328xs7pxj6sxoo46qr14sg0ohshv5q 437384 437307 2022-08-09T20:39:25Z Persino 2851 sanitized-css text/css .strona_prawa .spis{ display:flex; width:100%; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child > th{ width:calc( 100% - 8px ); margin:0 4px; } .strona_prawa .spis > div:not(.pierwsza_strona){ height:auto; max-height:100%; width:auto; display:flex !important; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści{ height:100%; width:auto; display:flex !important; flex-direction:column; box-sizing:border-box; margin:0; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ display:flex; flex-direction:column; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:first-child{ height:20px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child{ height: calc( 100% - 20px ); } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ height:100%; width:100%; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis ul, .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr:last-child > td > div.toc_spis li{ display:grid; height:100%; width:auto; box-sizing:border-box; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis{ padding:0 3px; } .strona_prawa .spis > div:not(.pierwsza_strona) > table.spis_treści > tbody > tr > td > div.toc_spis/*.mw-scrollbar-overflow-y*/{ height:100% !important; max-height:100% !important; /*width:100%;*/ max-width:694px; } .strona_prawa .mw-sticky-y.spis.mw-sticky-js.mw-scrollbar-overflow-x:not(:hover){ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa, html.client-nojs .strona_lewa{ overflow-x:auto !important; overflow-y:hidden !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis{ overflow:auto !important; visibility:visible !important; position:relative !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:hover{ width: 100% !important; max-width:calc( 100% - 5px ) !important; height:auto !important; } html.client-nojs .strona_prawa .mw-sticky-y.spis:not(:hover){ width:100% !important; max-width:calc( (100% - 5px ) * 3.3333333 ) !important; height:auto !important; } .strona_prawa .mw-sticky-y.spis:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); /**/ transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay:4s; } .strona_prawa .mw-sticky-y.spis:hover{ max-width:700px !important; transform: scale(1,1) translate(0,0); transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .pierwsza_strona.mw-overflow-y.mw-scrollbar-overflow-y{ padding-right:10px; } .strona_prawa .pierwsza_strona .wikitable{ margin-top:5px; margin-bottom:5px; } .strona_start{ background-color:white; } .strona_start .główna_strona.tło{ background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); } html.client-nojs .strona_prawa .nawigacja_boksy, html.client-nojs .strona_lewa .nawigacja_boksy{ margin-top:5px !important; visibility:visible !important; } .strona_prawa .mw-optimal-x:hover, .strona_lewa .mw-optimal-x:hover{ transform: scale(1,1) translate(0,0); max-width:none !important; transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 0s; } .strona_prawa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(117%,-117%); } .strona_lewa .mw-optimal-x:not(:hover){ transform: scale(0.3,0.3) translate(-117%,-117%); } .strona_prawa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover), .strona_lewa .mw-optimal-x.mw-optimal-js.mw-scrollbar-overflow-x:not(:hover){ overflow:auto; } html.client-nojs .strona_prawa .mw-optimal-x, html.client-nojs .strona_lewa .mw-optimal-x{ overflow:auto !important; visibility:visible !important; position:relative !important; z-index:1 !important; direction: rtl; width: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ z-index:3 !important; width:100% !important; max-width:calc( 100% - 5px ) !important; } html.client-nojs .strona_prawa .mw-optimal-x:not(:hover), html.client-nojs .strona_lewa .mw-optimal-x:not(:hover){ width: auto !important; max-width: calc( (100% - 5px ) * 3.3333333 ) !important; height: auto !important; } html.client-nojs .strona_prawa .mw-optimal-x:hover, html.client-nojs .strona_lewa .mw-optimal-x:hover{ width:auto !important; max-width:calc( 100% - 5px )!important; } .strona_prawa .mw-optimal-x:not(:hover), .strona_lewa .mw-optimal-x:not(:hover){ transition: transform 500ms ease-out, linear; transition-property: transform; transition-duration: 500ms; transition-timing-function: ease-out, linear; transition-delay: 4s; } .strona_prawa .mw-optimal-x, .strona_lewa .mw-optimal-x{ display:flex; flex-direction:column; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:hover{ background-color:blue !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:active{ background-color:grey !important; color:white !important; } .strona_start .strona .ciało_zawartości > .menu > .menu_boks:not(:hover):not(:active){ background-color:white !important; color:black !important; } .strona h1, .strona h2,.strona h3,.strona h4,.strona h5,.strona h6{ text-align:left; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p) + p, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).noprint + p{ margin-top:0.6em; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).floatright + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tleft + p:first-of-type, .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > :not(style):not(link):not(p).tright + p:first-of-type{ margin-top:0; } .strona > .ciało_kontener> .ciało_zawartości > .ciało_strona > p:last-of-type{ margin-bottom:0; } @media print{ .noprint{ display:none; } .print{ display:block; } } .gallerytext, .plainlinks{ text-align:left; } .strona.mw-scrollbar-overflow-x{ padding-bottom:5px; } .strona.mw-scrollbar-overflow-y{ padding-right:5px; } l4dswt7b6ezzrx8n2nlksdt4uqedb5p Wikipedysta:Persino/common.js 2 58552 437288 437287 2022-08-09T11:59:52Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; }); } var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box_right); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box_right); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); cc5k6kp4wxzy7wv18w1p0d3ryyyv0ok 437290 437288 2022-08-09T12:11:42Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box_right); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box_right); element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 69b12mirwprj0w3jjsenu8zc40zzhbp 437291 437290 2022-08-09T12:19:52Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box_right); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); lxou4rvjadjkmdlzfsozti0w1plcsc6 437292 437291 2022-08-09T12:23:34Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 28ceomzihrjcwjqgd77g6gzfhhqfksm 437304 437292 2022-08-09T13:34:02Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; //element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; /**/ element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); tciar74a65w96ymd793ycvey91ydh1g 437305 437304 2022-08-09T13:35:43Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 28ceomzihrjcwjqgd77g6gzfhhqfksm 437308 437305 2022-08-09T13:43: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 ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 9v4zlj9hzs0i3tgqko1rxd0u00y74bj 437309 437308 2022-08-09T13:48:28Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; //element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 0vu13o3zul9aaj3jq2i3c7dnr69ynla 437310 437309 2022-08-09T13:49:33Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 9v4zlj9hzs0i3tgqko1rxd0u00y74bj 437312 437310 2022-08-09T16:30: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. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js. body.skin-timeless #mw-header-container').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 8j89l067qvmyre3hettz8cc2gu8qm43 437313 437312 2022-08-09T16:33: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. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); f5t6w97v1hcudyotigpaipjr98d6e7h 437314 437313 2022-08-09T16:44:19Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky[height]+rect_sticky[top]; }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); ng0cpw2ldflewdqjnxyi6j1402okfo7 437315 437314 2022-08-09T16:49:53Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky[height]+rect_sticky[top]; }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); gg2ehzp9of1dgo7lpmo477ep7i4wtlx 437332 437315 2022-08-09T17:55:12Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ setTimeout(Common[funkcja_zdarzen],500); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); $(css).on(zdarzenie,Common[funkcja_zdarzen_kopia]) } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky[height]+rect_sticky[top]; }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 8w3zmollmp0szk1g1e2cwjqhj38x8fu 437333 437332 2022-08-09T17:57:27Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ //setTimeout(Common[funkcja_zdarzen],500); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ //$(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); $(css).on(zdarzenie,Common[funkcja_zdarzen_kopia]) } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky[height]+rect_sticky[top]; }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); mn24hj1vp9otgv4mxj86kmc0xpq8bac 437334 437333 2022-08-09T17:58:19Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; //Common[funkcja_zdarzen_kopia]=function(){ //setTimeout(Common[funkcja_zdarzen],500); //} if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ //$(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); $(css).on(zdarzenie,Common[funkcja_zdarzen_kopia]) } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky[height]+rect_sticky[top]; }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); mpo8dmd902gj1z9xncgfxscoiodasuf 437335 437334 2022-08-09T17:59:32Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; //Common[funkcja_zdarzen_kopia]=function(){ //setTimeout(Common[funkcja_zdarzen],500); //} if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } //if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ //$(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); //} if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); // $(css).on(zdarzenie,Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky[height]+rect_sticky[top]; }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); mxbfyqgmo4c80rxlel3nnx50a2hrg4g 437336 437335 2022-08-09T18:00:38Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ //var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; //Common[funkcja_zdarzen_kopia]=function(){ //setTimeout(Common[funkcja_zdarzen],500); //} if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } //if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ //$(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); //} if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); // $(css).on(zdarzenie,Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky[height]+rect_sticky[top]; }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); n2ar7o38po2yrs1cz388g6cgrccdm68 437337 437336 2022-08-09T18:01:50Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ //var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; //Common[funkcja_zdarzen_kopia]=function(){ //setTimeout(Common[funkcja_zdarzen],500); //} if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ //$(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } //if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ //$(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); //} if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); // $(css).on(zdarzenie,Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky[height]+rect_sticky[top]; }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); o9etwbvtho04mv52k502nvmmqlnsxew 437338 437337 2022-08-09T18:02:51Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ //var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; //Common[funkcja_zdarzen_kopia]=function(){ //setTimeout(Common[funkcja_zdarzen],500); //} if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } //if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ // $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); //} if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); // $(css).on(zdarzenie,Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky[height]+rect_sticky[top]; }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); oz9itzw8huwtnm1q5z4s9jzn8yv675b 437339 437338 2022-08-09T18:04:49Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ //setTimeout(Common[funkcja_zdarzen],500); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } //if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ // $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); //} if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); // $(css).on(zdarzenie,Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky[height]+rect_sticky[top]; }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 21fhzokqdnyw7mtjcb4r2j2tzjo6omb 437340 437339 2022-08-09T18:06: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 ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ setTimeout(Common[funkcja_zdarzen],500); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } //if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ // $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); //} if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); // $(css).on(zdarzenie,Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky[height]+rect_sticky[top]; }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); nrwhfmdxuvq61emly79000yq8ezktqs 437341 437340 2022-08-09T18:07:38Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ setTimeout(Common[funkcja_zdarzen],500); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky[height]+rect_sticky[top]; }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); q6nje01odrp2y5yz0475ull2hs0goei 437343 437341 2022-08-09T18:11:25Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ Common[funkcja_zdarzen](); setTimeout(Common[funkcja_zdarzen],500); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky[height]+rect_sticky[top]; }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); tddwo5r9gjczhkh079y0kzs6e9ka485 437344 437343 2022-08-09T18:14:15Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ Common[funkcja_zdarzen](); setTimeout(Common[funkcja_zdarzen],250); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky[height]+rect_sticky[top]; }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 8e6m3wndwa0jamm46hnhwpqm5vj14rh 437345 437344 2022-08-09T18:19:37Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ Common[funkcja_zdarzen](); setTimeout(Common[funkcja_zdarzen],500); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky[height]+rect_sticky[top]; }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); cyarma7ssp75wbjqgsqp1j3d5at4f3z 437346 437345 2022-08-09T18:22:59Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ Common[funkcja_zdarzen](); setTimeout(Common[funkcja_zdarzen],250); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,250); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky[height]+rect_sticky[top]; }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,250); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,250); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 448f54luviyfpmwjvwe92as6zlqhmzd 437347 437346 2022-08-09T18:25:24Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ $(Common[funkcja_zdarzen]); setTimeout(Common[funkcja_zdarzen],250); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,250); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky[height]+rect_sticky[top]; }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,250); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,250); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 0busnthdkqntzm448l3nu4c2ui0tw4p 437348 437347 2022-08-09T18:26:43Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ $(Common[funkcja_zdarzen]); setTimeout(Common[funkcja_zdarzen],250); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,250); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,250); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,250); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); gawa9tvyrdofknssopljz5rjwp46ime 437349 437348 2022-08-09T18:27:18Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ $(Common[funkcja_zdarzen]); setTimeout(Common[funkcja_zdarzen],500); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 0dy131r0w4nhbbf7zshg6r1ceaujqfs 437350 437349 2022-08-09T18: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 ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ $(Common[funkcja_zdarzen]); setTimeout(Common[funkcja_zdarzen],500); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ $(Common.ScrollBarOverflow); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ $(Common.StickyXY); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ $(Common.OptimalXY); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); qmrsijk8ygguqs765965v43j2eeqh5i 437352 437350 2022-08-09T19:02:40Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ $(Common[funkcja_zdarzen]); setTimeout(Common[funkcja_zdarzen],500); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ $(Common.ScrollBarOverflow); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ $(Common.StickyXY); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ $(Common.OptimalXY); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); pfyss4hjh69c1wbnucuybcq4o3wdx6b 437353 437352 2022-08-09T19:03:34Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ $(Common[funkcja_zdarzen]); setTimeout(Common[funkcja_zdarzen],500); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ $(Common.ScrollBarOverflow); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ $(Common.StickyXY); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ $(Common.OptimalXY); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); qmrsijk8ygguqs765965v43j2eeqh5i 437354 437353 2022-08-09T19:11: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. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ $(Common[funkcja_zdarzen]); setTimeout(Common[funkcja_zdarzen],500); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ $(Common.ScrollBarOverflow); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ $(Common.StickyXY); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ $(Common.OptimalXY); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); //Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); euz4qoaek2rjzoosugb3w4015qysvrv 437355 437354 2022-08-09T19:12: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 ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ $(Common[funkcja_zdarzen]); setTimeout(Common[funkcja_zdarzen],500); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ $(Common.ScrollBarOverflow); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ $(Common.StickyXY); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ $(Common.OptimalXY); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ //Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); //Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 0k4zswvuvd5h9t780wxke6e5g5lak99 437356 437355 2022-08-09T19:12:50Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ $(Common[funkcja_zdarzen]); setTimeout(Common[funkcja_zdarzen],500); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ $(Common.ScrollBarOverflow); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ $(Common.StickyXY); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ $(Common.OptimalXY); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); qmrsijk8ygguqs765965v43j2eeqh5i 437357 437356 2022-08-09T19:16:46Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ $(Common[funkcja_zdarzen]); setTimeout(Common[funkcja_zdarzen],500); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ $(Common.ScrollBarOverflow); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ $(Common.StickyXY); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ 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-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ $(Common.OptimalXY); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); ph44f9pc3slx8bnxsb4g7zb5jun45h5 437358 437357 2022-08-09T19:20:38Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ $(Common[funkcja_zdarzen]); setTimeout(Common[funkcja_zdarzen],500); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ $(Common.ScrollBarOverflow); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ 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 visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ $(Common.StickyXY); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ 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-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ $(Common.OptimalXY); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 86u88b2l9fhiqg8a51qn4qeo9rregen 437359 437358 2022-08-09T19:22:54Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ $(Common[funkcja_zdarzen]); setTimeout(Common[funkcja_zdarzen],500); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ $(Common.ScrollBarOverflow); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ $(Common.StickyXY); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ $(Common.OptimalXY); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); ng20cqqslnfdq9xsvzn4vesiita6x3l 437360 437359 2022-08-09T19:25:49Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ $(Common[funkcja_zdarzen]); setTimeout(Common[funkcja_zdarzen],1000); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ $(Common.ScrollBarOverflow); setTimeout(Common.ScrollBarOverflow,1000); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ $(Common.StickyXY); setTimeout(Common.StickyXY,1000); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ $(Common.OptimalXY); setTimeout(Common.OptimalXY,1000); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 6e42bzl22pa8bo4a5744yumhatltfzl 437361 437360 2022-08-09T19:27:29Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ $(Common[funkcja_zdarzen]); setTimeout(Common[funkcja_zdarzen],250); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ $(Common.ScrollBarOverflow); setTimeout(Common.ScrollBarOverflow,250); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ $(Common.StickyXY); setTimeout(Common.StickyXY,250); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ $(Common.OptimalXY); setTimeout(Common.OptimalXY,250); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 1dx9iei0ihe07w62aqtzru7kxhuxlde 437362 437361 2022-08-09T19:29: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 ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ $(Common[funkcja_zdarzen]); setTimeout(Common[funkcja_zdarzen],100); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ $(Common.ScrollBarOverflow); setTimeout(Common.ScrollBarOverflow,100); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ $(Common.StickyXY); setTimeout(Common.StickyXY,100); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ $(Common.OptimalXY); setTimeout(Common.OptimalXY,100); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 0mlsm2prmrqihgpv5055w7paiuc3bho 437363 437362 2022-08-09T19:29: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 ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ $(Common[funkcja_zdarzen]); setTimeout(Common[funkcja_zdarzen],1000); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:1000px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ $(Common.ScrollBarOverflow); setTimeout(Common.ScrollBarOverflow,1000); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="1000%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ $(Common.StickyXY); setTimeout(Common.StickyXY,1000); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ $(Common.OptimalXY); setTimeout(Common.OptimalXY,1000); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=1000; setTimeout(Czekaj,1000); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); dxgd6lonhmu17jptg1spdnq9owawqhm 437365 437363 2022-08-09T19:33:53Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ $(Common[funkcja_zdarzen]); setTimeout(Common[funkcja_zdarzen],1000); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:1000px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ $(Common.ScrollBarOverflow); setTimeout(Common.ScrollBarOverflow,1000); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ $(element_g).css('visibility','hidden'); var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="1000%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } $(element_g).css('visibility','visible'); } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ $(Common.StickyXY); setTimeout(Common.StickyXY,1000); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ $(Common.OptimalXY); setTimeout(Common.OptimalXY,1000); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=1000; setTimeout(Czekaj,1000); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); l6csjldfoetd3niif1kh0gciqlujm2e 437366 437365 2022-08-09T19:34:31Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ $(Common[funkcja_zdarzen]); setTimeout(Common[funkcja_zdarzen],1000); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:1000px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ $(Common.ScrollBarOverflow); setTimeout(Common.ScrollBarOverflow,1000); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="1000%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ $(Common.StickyXY); setTimeout(Common.StickyXY,1000); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ $(Common.OptimalXY); setTimeout(Common.OptimalXY,1000); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=1000; setTimeout(Czekaj,1000); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); dxgd6lonhmu17jptg1spdnq9owawqhm 437367 437366 2022-08-09T19:38:06Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ $(Common[funkcja_zdarzen]); setTimeout(function(){ $(Common[funkcja_zdarzen]); },1000); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:1000px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ $(Common.ScrollBarOverflow); setTimeout(Common.ScrollBarOverflow,1000); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="1000%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ $(Common.StickyXY); setTimeout(Common.StickyXY,1000); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ $(Common.OptimalXY); setTimeout(Common.OptimalXY,1000); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=1000; setTimeout(Czekaj,1000); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 50iw3ys52mxh56m2j692tdn625ds7ua 437368 437367 2022-08-09T19:42:45Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ $(Common[funkcja_zdarzen]); setTimeout(function(){ $(Common[funkcja_zdarzen]); },1000); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:1000px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ $(Common.ScrollBarOverflow); setTimeout(function(){ $(Common.ScrollBarOverflow); },1000); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="1000%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ $(Common.StickyXY); setTimeout(function(){ $(Common.StickyXY); },1000); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ $(Common.OptimalXY); setTimeout(function(){ $(Common.OptimalXY); },1000); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=1000; setTimeout(Czekaj,1000); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 9csbhbucahss1r66328g8a08s5iiyv6 437369 437368 2022-08-09T19:47:18Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ $(Common[funkcja_zdarzen]); setTimeout(function(){ $(Common[funkcja_zdarzen]); },250); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:250px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ $(Common.ScrollBarOverflow); setTimeout(function(){ $(Common.ScrollBarOverflow); },250); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="250%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ $(Common.StickyXY); setTimeout(function(){ $(Common.StickyXY); },250); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ $(Common.OptimalXY); setTimeout(function(){ $(Common.OptimalXY); },250); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=250; setTimeout(Czekaj,250); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 5jcn0fir053tghomtpmhhxtwiovdlfp 437370 437369 2022-08-09T19:53:43Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ $(Common[funkcja_zdarzen]); setTimeout(function(){ $(Common[funkcja_zdarzen]); },300); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:300px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ $(Common.ScrollBarOverflow); setTimeout(function(){ $(Common.ScrollBarOverflow); },300); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="300%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ $(Common.StickyXY); setTimeout(function(){ $(Common.StickyXY); },300); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ $(Common.OptimalXY); setTimeout(function(){ $(Common.OptimalXY); },300); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=300; setTimeout(Czekaj,300); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 68n4jb8kj6mafxvp9eps7c2dh4m84ii 437371 437370 2022-08-09T19:55:47Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ $(Common[funkcja_zdarzen]); setTimeout(function(){ $(Common[funkcja_zdarzen]); },750); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:750px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ $(Common.ScrollBarOverflow); setTimeout(function(){ $(Common.ScrollBarOverflow); },750); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="750%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ $(Common.StickyXY); setTimeout(function(){ $(Common.StickyXY); },750); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ $(Common.OptimalXY); setTimeout(function(){ $(Common.OptimalXY); },750); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>75000){ 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+=750; setTimeout(Czekaj,750); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 8864tsk8a8w2gppabrk393eynqq2aa3 437372 437371 2022-08-09T19:57:09Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ var funkcja_zdarzen_kopia=funkcja_zdarzen+'PoCzasie'; Common[funkcja_zdarzen_kopia]=function(){ $(Common[funkcja_zdarzen]); setTimeout(function(){ $(Common[funkcja_zdarzen]); },400); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ /*Odrejestrowanie zdarzeń z tylko funkcjami*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen_kopia])){ /*Odrejestrowanie zdarzeń wywołania samej funkcji i wywołanie tejże funkcji po czasie*/ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen_kopia]); } if((Common)&&(Common[funkcja_zdarzen])&&(Common[funkcja_zdarzen_kopia])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen_kopia]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:400px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ $(Common.ScrollBarOverflow); setTimeout(function(){ $(Common.ScrollBarOverflow); },400); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="400%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ $(Common.StickyXY); setTimeout(function(){ $(Common.StickyXY); },400); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ $(Common.OptimalXY); setTimeout(function(){ $(Common.OptimalXY); },400); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>40000){ 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+=400; setTimeout(Czekaj,400); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); f4c8dmk2lqq4evfoiwrffoltf0xpjz5 437373 437372 2022-08-09T19: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 ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 9v4zlj9hzs0i3tgqko1rxd0u00y74bj 437374 437373 2022-08-09T20:01: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. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); is66kl6oun8gmrjghgh9008xl5l1vbk 437375 437374 2022-08-09T20:02:45Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 8sj78vbfovjpuh290paelquej1o9tp4 437376 437375 2022-08-09T20:06: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. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,inne){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ if(!inne){ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); } Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',true); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('body.skin-vector-search-vue .vector-sticky-header','OptimalXY',true); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*body.skin-vector-search-vue .vector-sticky-header','ScrollBarOverflow',true) }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); h96kuhatt063lu7kczgsdmf9upweu2f 437377 437376 2022-08-09T20: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 ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(function(){ Common.ScrollBarOverflow(); setTimeout(Common.ScrollBarOverflow,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(function(){ Common.StickyXY(); setTimeout(Common.StickyXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(function(){ Common.OptimalXY(); setTimeout(Common.OptimalXY,500); }); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 9v4zlj9hzs0i3tgqko1rxd0u00y74bj 437378 437377 2022-08-09T20:12:43Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,inne){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ if(!inne){ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); } Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',true); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('body.skin-vector-search-vue .vector-sticky-header','OptimalXY',true); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*body.skin-vector-search-vue .vector-sticky-header','ScrollBarOverflow',true) }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); l5x8m0vttp9ch9cgmau2ps1inhm6u4z 437379 437378 2022-08-09T20:15: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. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,inne){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ if(!inne){ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); } Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',true); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('body.skin-vector-search-vue .vector-sticky-header','OptimalXY',true); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*body.skin-vector-search-vue .vector-sticky-header','ScrollBarOverflow',true) }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 6sc99ekfxgcxdtqlri3meyjzayc8mgi 437380 437379 2022-08-09T20:20: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. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,inne){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ if(!inne){ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); } Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',true); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); tszv8k4p3r4qtmvybq3x9cocqp759ax 437381 437380 2022-08-09T20:27:21Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,inne){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 29p2zqwujp7b6zav4bzvgehapcbqr8b 437382 437381 2022-08-09T20: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 ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,inne){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ if(!inne){ Common.ZdarzeniaJavaScript(css,'mouseenter',fun_zdarz); Common.ZdarzeniaJavaScript(css,'mouseleave',fun_zdarz); } Common.ZdarzeniaJavaScript(css,'transitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionstart',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionrun',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitioncancel',fun_zdarz); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',true); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); tszv8k4p3r4qtmvybq3x9cocqp759ax 437383 437382 2022-08-09T20:36:51Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); jpqc0rkjacigxspzoigr8wzxluf6zw3 437385 437383 2022-08-09T21:00:43Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ $(css).off(); Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); cupqjknvv75vqzfcsh5ej7g7bd6f0dr 437386 437385 2022-08-09T21:03: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. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%";//(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 9tkewn36rx35njvwm7kiylbu66qa1lf 437387 437386 2022-08-09T21:07:38Z Persino 2851 javascript text/javascript mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true ); /**/ /* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony. */ /* * Zmienna Common.pageInfo, jego elementy, instrukcja obsługi: * Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber) * Common.pageInfo.name pełna nazwa strony * Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash * Common.pageInfo.book tytuł książki * Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get" * Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL */ /*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/ var common_zmienne_stare=this['Common']; /*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/ var Common=new Array(); // Frame Busting Common.LokowanieTopSelf=function(){ if (top != self) top.location.href = self.location.href; }; $(Common.LokowanieTopSelf); /*Funkcja zdarzeń odrejestrowania i rejestrowania*/ Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen){ $(function(){ if((css)&&(zdarzenie)&&(funkcja_zdarzen)){ /*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/ if((common_zmienne_stare)&&(common_zmienne_stare[funkcja_zdarzen])){ $(css).off(zdarzenie,common_zmienne_stare[funkcja_zdarzen]); } if((Common)&&(Common[funkcja_zdarzen])){ /*Rejestrowanie zdarzeń, ale z tej strony .js*/ $(css).on(zdarzenie, Common[funkcja_zdarzen]); } } }); } /*Funkcje w przestrzeni nazw Common*/ Common.Naglowek=function(){ /* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ var hideAll = document.getElementById('mójNagłówekUkryj'); var noFooter = false; var footers = 0; var tags = document.getElementsByTagName('div'); for (var i = 0; i < tags.length; i++) { var el=tags[i].getAttribute("id"); if (el=='mojaStopka') footers++; else if (hideAll && (el=='mójNagłówek')) { tags[i].innerHTML=""; noFooter=true; } } if (noFooter) return; var footer = document.getElementById('mojaStopka'); if ((footer !== null) && (footers==1)) { var bodyContent = document.getElementById('bodyContent'); if (bodyContent !== null) { var s0=document.getElementById('mojaStopka0'); var s1=document.getElementById('mojaStopka1'); if ((s1 !== null) || ((s0 === null) && (bodyContent.innerHTML.length>8000))){ var strona=document.getElementById('strona'); if(strona!==null){ strona.appendChild(footer); }else{ var catlinks=document.getElementById('catlinks'); if(catlinks !== null){ bodyContent.insertBefore(footer,catlinks); }else{ bodyContent.appendChild(footer); } } } } } /* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */ }; $(Common.Naglowek); /*Informacje o danej stronie*/ Common.PageInfoInit=function(){ var _g = /_/g; this.name = mw.config.get('wgPageName').replace(/_/g, ' '); this.namespace = mw.config.get('wgNamespaceNumber'); var i = this.name.search(/\/[^\/]*$/g); this.title = this.name.slice(i + 1); this.book = this.name.replace(/\/.*/g, ""); if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) { re = /\&diff=/g; this.diff = re.test(document.URL); re = /\&action=[^\&]*/g; this.action = document.URL.match(re); if ( this.action === null ) { this.action = 'get'; } else { this.action = this.action[0].slice(8, this.action[0].length); } } else { this.diff = null; this.action = 'get'; } } Common.pageInfo = new Common.PageInfoInit(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[en:Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ Common.autoCollapse = 2; Common.collapseCaption = "ukryj"; Common.expandCaption = "pokaż"; Common.collapseTable=function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == Common.collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = Common.expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = Common.collapseCaption; } } Common.createCollapseButtons=function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( $(Tables[i]).hasClass( "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( Common.collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); $(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){ $(element).remove(); }); Header.insertBefore( Button, Header.childNodes[0]); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) { Common.collapseTable( i ); } else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) { var element = NavigationBoxes[i]; while (element = element.parentNode) { if ( $(element).hasClass( "outercollapse" ) ) { Common.collapseTable ( i ); break; } } } } } $(Common.createCollapseButtons ); /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language Common.NavigationBarHide = '[' + Common.collapseCaption + ']'; Common.NavigationBarShow = '[' + Common.expandCaption + ']'; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled Common.toggleNavigationBar=function(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == Common.NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $(NavChild).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = Common.NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == Common.NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ($(NavChild).hasClass( 'NavPic')) { NavChild.style.display = 'block'; } if ($(NavChild).hasClass( 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = Common.NavigationBarHide; } } // adds show/hide-button to navigation bars Common.createNavigationBarToggleButton=function() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i = 0; NavFrame = divs[i]; i++) { // if found a navigation bar if ($(NavFrame).hasClass( "NavFrame")) { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');'); var isCollapsed = $(NavFrame).hasClass( "collapsed" ); /* * Check if any children are already hidden. This loop is here for backwards compatibility: * the old way of making NavFrames start out collapsed was to manually add style="display:none" * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make * the content visible without JavaScript support), the new recommended way is to add the class * "collapsed" to the NavFrame itself, just like with collapsible tables. */ for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { isCollapsed = true; } } } if (isCollapsed) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) { NavChild.style.display = 'none'; } } } var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for(var j=0; j < NavFrame.childNodes.length; j++) { if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) { $(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){ $(element).remove(); }); NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } } $(Common.createNavigationBarToggleButton ); // Wyszukiwanie Google na stronach podręczników Common.googleSearchInitialized = false; Common.insertGoogleSearch=function() { if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) { return; } Common.googleSearchInitialized = true; var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE"; var ul = jQuery('#p-tb ul')[0]; if (!ul) { return; } var link = document.createElement('a'); var book = Common.pageInfo.book; if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) { google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22" } link.href = google.replace(/PAGE/g, encodeURIComponent(book)); link.appendChild(document.createTextNode("Szukaj w podręczniku")); var li = document.createElement('li'); li.id = "google-trick-search"; li.appendChild(link); $(ul).children('li#google-trick-search').each(function(i,element){ $(element).remove(); }); ul.insertBefore(li, ul.firstChild); } $(Common.insertGoogleSearch); /*Funkcja do liczenia, czy nastąpiło przepełnienie poziome lub pionowe*/ Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){ var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>'); $('body').append(div); var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); div.css('overflow-'+(x_box_right||"y"), 'scroll'); var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")](); $(div).remove(); return (w1 - w2); } /*Funkcje do obsługi pasków przewijania*/ Common.ScrollBarOverflow=function(){ $('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){ /*start overflow*/ var comp=window.getComputedStyle(element_g, null); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var overflow=comp.getPropertyValue("overflow"); var overflow_x=$(element_g).hasClass('mw-overflow-x'); if(overflow_x){ var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); if((overflowX)&&(overflowX=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-x"); const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false if(hasHorizontalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-x"); } } } var overflow_y=$(element_g).hasClass('mw-overflow-y'); if(overflow_y){ var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflowY)&&(overflowY=="auto")){ element_g.classList.remove("mw-scrollbar-overflow-y"); const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false if(hasVerticalScrollbar){ element_g.classList.add("mw-scrollbar-overflow-y"); } } } /*koniec overflow*/ }); } $(Common.ScrollBarOverflow); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow'); Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow'); }); /*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/ Common.StickyXY=function(){ $('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]); }); var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom); if(StickyXYTopOld===undefined){ var topold_war=parseFloat(element_g.style[top]); $(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0)); } if(StickyXYBottomOld===undefined){ var bottomold_war=parseFloat(element_g.style[bottom]); $(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0)); } var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5; var margintop=parseFloat(comp.getPropertyValue("margin-"+top)); margintop=((!isNaN(margintop))?margintop:0); var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom)); marginbottom=((!isNaN(marginbottom))?marginbottom:0); var przodek_height=undefined; element_g.style[height]="auto"; element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[top]="auto"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style[width_box]="auto"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[left_box]="auto"; element_g.style[right_box]="0"; $(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){ element.style[width_box]="auto"; element.classList.remove('mw-scrollbar-overflow-x'); element.classList.remove('mw-scrollbar-overflow-y'); }); } /**/ var parents_node_fun=$(element_g).parents('.mw-parent-node').first(); if((parents_node_fun==null)||(parents_node_fun.length==0)){return;} var width_rodzic=null; var rodzic_element=undefined; var comp_rodz; parents_node_fun.each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); przodek_height=parseFloat(comp_rodz.getPropertyValue([height])); width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null; rodzic_element=element; }); var height_box_real=parseFloat(comp.getPropertyValue(height)); var rect_dziecko=element_g.getBoundingClientRect(); var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]; var rect_rodzic; parents_node_fun.each(function(i,element){ rect_rodzic=element.getBoundingClientRect(); }); var top_ab=rect_rodzic[top]; var bottom_ab=(wys-rect_rodzic[bottom]); var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop); element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px"; element_g.style[height]="100%"; var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab))); element_g.style[top]=top_obj+"px"; element_g.style[bottom]="auto"; if(width_box!=null){ element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; rodzic_element.style.position="static"; rodzic_element.style.overflow="hidden"; var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var rect_dziecko=element_g.getBoundingClientRect(); if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){ if(width_box=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(rect_dziecko[width_box]>width_rodzic){ if(width_box=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width_box)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style.whiteSpace="nowrap"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null) element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var width_box_real=parseFloat(comp.getPropertyValue(width_box)); element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px"; element_g.style[width_box]=width_box_real+"px"; element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; }else{ element_g.style.whiteSpace="nowrap"; var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; Common.ScrollBarOverflow(); $(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){ var comp_element=window.getComputedStyle(element, null); element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat(comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px"; element.classList.remove('mw-scrollbar-overflow-'+x_box); }); element_g.style.whiteSpace="normal"; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; element_g.style[width_box]="auto"; var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc_box=rect_dziecko[width_box]; element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px"; element_g.style[width_box]=(szerokosc_box)+"px"; var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ element_g.style[right_box]="0"; element_g.style[left_box]="auto"; rodzic_element.style.overflow="visible"; }else{ element_g.style[left_box]="0"; element_g.style[right_box]="auto"; rodzic_element.style.position="relative"; } } } element_g.style[height]="auto"; element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px"; Common.ScrollBarOverflow(); for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } } element_g.classList.add('mw-sticky-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var sticky_x=$(element_g).hasClass('mw-sticky-x'); var sticky_y=$(element_g).hasClass('mw-sticky-y'); if((sticky_x)&&(!sticky_y)){ var str=$(element_g).parents('.strona_górna, .strona_dolna').first(); if(str.hasClass('strona_dolna')){ FunStickyXY("width","left","right","height","top","bottom","y","x"); }else if(str.hasClass('strona_górna')){ FunStickyXY("width","left","right","height","bottom","top","y","x"); } }else if((!sticky_x)&&(sticky_y)){ var str=$(element_g).parents('.strona_prawa, .strona_lewa').first(); if(str.hasClass('strona_prawa')){ FunStickyXY("height","top","bottom","width","left","right","x","y"); }else if(str.hasClass('strona_lewa')){ FunStickyXY("height","top","bottom","width","right","left","x","y"); } }else if((sticky_x)&&(sticky_y)){ FunStickyXY("width","left","right",null); FunStickyXY("height","top","bottom",null); } }); } $(Common.StickyXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY'); Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY'); }); /*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/ Common.OptimalXY=function(){ $('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){ var comp=window.getComputedStyle(element_g, null); function FunOptimalXY(width,left,right){ var pozycje_paskow=new Array(); $(element_g).find('*').each(function(i,element){ var comp=window.getComputedStyle(element, null); var overflow=comp.getPropertyValue("overflow"); var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x")); var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y")); if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){ pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft)); } }); var width_rodzic=null; var rodzic_node; var comp_rodz; $(element_g).parents('.mw-parent-node').first().each(function(i,element){ comp_rodz=window.getComputedStyle(element,null); width_rodzic=parseFloat(comp_rodz.getPropertyValue([width])); rodzic_node=element; }); if((width_rodzic!=null)&&(!isNaN(width_rodzic))){ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none"; var width_box_real=parseFloat(comp.getPropertyValue(width)); var rect_dziecko=element_g.getBoundingClientRect(); if(width=="width"){ element_g.classList.remove('mw-scrollbar-overflow-x'); }else{ element_g.classList.remove('mw-scrollbar-overflow-y'); } if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){ var rect_dziecko=element_g.getBoundingClientRect(); if(rect_dziecko[width]>width_rodzic){ if(width=="width"){ element_g.classList.add('mw-scrollbar-overflow-x'); }else{ element_g.classList.add('mw-scrollbar-overflow-y'); } } var width_box_real=parseFloat(comp.getPropertyValue(width)); var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right)); var dlugosc=(width_rodzic-margin_all); dlugosc=((dlugosc>=0)?dlugosc:0); element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px"; }else{ element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px"; } var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first(); if(!str.hasClass('strona_start-nawigacja_boksy')){ var rect_dziecko=element_g.getBoundingClientRect(); var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right)); if(parseInt(szerokosc)>parseInt(width_rodzic)){ str.css('position','static'); }else{ str.css('position','relative'); } } } for(var i in pozycje_paskow){ pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1]; pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2]; } }; element_g.classList.add('mw-optimal-js'); var display=comp.getPropertyValue("display"); if(display=="none"){return;} var visibility=comp.getPropertyValue("visibility"); if(visibility=="hidden"){return;} var position=comp.getPropertyValue("position"); if(position!="absolute"){return;} var optimal_x=$(element_g).hasClass('mw-optimal-x'); var optimal_y=$(element_g).hasClass('mw-optimal-y'); if(optimal_x){ FunOptimalXY("width","left","right"); } if(optimal_y){ FunOptimalXY("height","top","bottom"); } }); } $(Common.OptimalXY); $(function(){ /*Zdarzenia*/ Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY'); Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY'); }); /*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/ Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){ $(obiekt).each(function(i,element_f){ return new Promise(function(resolve,reject){ var czas=0; function Czekaj(){ if(czas>30000){ reject(); } var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i); if((collapsebutton!==null)&&(collapsebutton.length>0)){ var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i); if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();} resolve(i); }else{ czas+=100; setTimeout(Czekaj,100); } } Czekaj(); }).then(function(i){ $('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){ var href=element_g.getAttribute('href'); if((href!=null)&&(href!="")){ var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*"; var re_frame = new RegExp(col,'g'); var re_javascript=new RegExp("^[\\s;]*javascript:"); if((re_javascript.test(href))&&(re_frame.test(href))){ var href=element_g.getAttribute('href'); if((href!==null)&&(href!="")){ function DodajSkryptJavaScript(fun){ var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g'); var href_nowe=element_g.getAttribute('href'); if(!re.test(href_nowe)){ element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()"); } } DodajSkryptJavaScript('Common.ScrollBarOverflow'); DodajSkryptJavaScript('Common.StickyXY'); DodajSkryptJavaScript('Common.OptimalXY'); } } } }); }).catch(function(){}); }); }; $(function(){ /*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable'); /*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/ Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar'); /*Koniec dodatkowych funkcji*/ }); /*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz){ /*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/ Common.ZdarzeniaJavaScript(css,'transitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'webkittransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'moztransitionend',fun_zdarz); Common.ZdarzeniaJavaScript(css,'otransitionend',fun_zdarz); }; $(function(){ /*Funkcje zdarzeń*/ Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY'); Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY'); }); /*Koniec dodatkowych zdarzeń*/ /*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/ Common.StronaStart=function(){ var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks'); elements.parent().show(); $('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){ $(element).css('visibility',"hidden"); }); $('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){ var czy_visible=$(element).css('visibility'); $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); if(czy_visible=="hidden"){ $(Common.ScrollBarOverflow); $(Common.StickyXY); } }); function StronaStartFun(){ var id=this; $(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){ var display=$(element).css('display'); if(display=="none"){ $(element).css('display',"block"); }else{ $(element).css('display',"none"); } }); $(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children().each(function(i,element){ var visibility=window.getComputedStyle(element, null).getPropertyValue('visibility'); if(visibility=="hidden"){ $(element).css('visibility',"visible"); var str=$(element).parents('.strona_prawa, .strona_lewa').first(); if($(element).hasClass('nawigacja_boksy')){ str.css('position','static'); str.addClass('strona_start-nawigacja_boksy'); str.removeClass('strona_start-nawigacja_spis'); $(Common.ScrollBarOverflow); $(Common.OptimalXY); }else if($(element).hasClass('nawigacja_spis')){ str.css('position','relative'); str.addClass('strona_start-nawigacja_spis'); str.removeClass('strona_start-nawigacja_boksy'); $(Common.ScrollBarOverflow); $(Common.StickyXY); } }else{ $(element).css('visibility',"hidden"); } }); } elements.off('click'); elements.on('click',StronaStartFun); } $(Common.StronaStart); 4jhu4i9wsm6yfw95f3jwwhpotmb85sd