Wikipedysta:Persino/Gadget-StronicowyParser.js/Tryb ciemny.js
Wygląd
Uwaga: aby zobaczyć zmiany po opublikowaniu, może zajść potrzeba wyczyszczenia pamięci podręcznej przeglądarki.
- Firefox / Safari: Przytrzymaj Shift podczas klikania Odśwież bieżącą stronę, lub naciśnij klawisze Ctrl+F5, lub Ctrl+R (⌘-R na komputerze Mac)
- Google Chrome: Naciśnij Ctrl-Shift-R (⌘-Shift-R na komputerze Mac)
- Edge: Przytrzymaj Ctrl, jednocześnie klikając Odśwież, lub naciśnij klawisze Ctrl+F5.
- Opera: Naciśnij klawisze Ctrl+F5.
StronicowyParser.TrybCiemnyIJasny=async function(rodzic,tab_promise){
await StronicowyParser.muteks.zablokuj();
let tryb_jasny=(((rodzic==document)||(rodzic==null))?($('#mw-content-text .mw-parser-output .uruchom_tryb_jasny')):($(rodzic).find('.uruchom_tryb_jasny')));
let tryb_ciemny=(((rodzic==document)||(rodzic==null))?($('#mw-content-text .mw-parser-output .uruchom_tryb_ciemny')):($(rodzic).find('.uruchom_tryb_ciemny')));
async function Tryby(tryb_jasnego_lub_ciemnego,klasa_oznaczenie_jasnego_lub_ciemnego,tab_promise){
await StronicowyParser.muteks.zablokuj();
if((tryb_jasnego_lub_ciemnego!==null)&&(tryb_jasnego_lub_ciemnego.length>0)){
for(let i=0;i<tryb_jasnego_lub_ciemnego.length;++i){
let element=tryb_jasnego_lub_ciemnego[i];
let klasy_jasnego_lub_ciemnego=element.classList;
for(let k=0;k<klasy_jasnego_lub_ciemnego.length;++k){
let klasa_trybu_jasnego_lub_ciemnego=klasy_jasnego_lub_ciemnego[k];
if((klasa_trybu_jasnego_lub_ciemnego!=klasa_oznaczenie_jasnego_lub_ciemnego)&&(/^tryb_/g.test(klasa_trybu_jasnego_lub_ciemnego))){
async function UruchomTrybJakisTryb(){
if(StronicowyParser.muteks.LiczbaBlokat()>0){return;}
await StronicowyParser.muteks.zablokuj();
let tryby_klasy_ciemnego=$('#mw-content-text .mw-parser-output .tryb_ciemny');
if((tryby_klasy_ciemnego!==null)&&(tryby_klasy_ciemnego.length>0)){
for(let j=0;j<tryby_klasy_ciemnego.length;++j){
let div_ciemny=tryby_klasy_ciemnego[j];
let klasy_trybu_ciemny=div_ciemny.classList;
for(let k=0;k<klasy_trybu_ciemny.length;++k){
let klasa_trybu_ciemny=klasy_trybu_ciemny[k];
if((klasa_trybu_ciemny!="tryb_ciemny")&&(/^tryb_/g.test(klasa_trybu_ciemny))){
if(klasa_trybu_ciemny==klasa_trybu_jasnego_lub_ciemnego){
if(klasa_oznaczenie_jasnego_lub_ciemnego=='uruchom_tryb_jasny'){
let a=element.querySelector('a');
a.setAttribute('href',"#tryb_ciemny");
a.innerHTML="Tryb ciemny";
$(element).removeClass('uruchom_tryb_jasny').addClass('uruchom_tryb_ciemny');
element.removeEventListener("click",UruchomTrybJakisTryb, false);
Tryby($(element),'uruchom_tryb_ciemny');
}else if(klasa_oznaczenie_jasnego_lub_ciemnego=='uruchom_tryb_ciemny'){
let a=element.querySelector('a');
a.setAttribute('href',"#tryb_jasny");
a.innerHTML="Tryb jasny";
$(element).removeClass('uruchom_tryb_ciemny').addClass('uruchom_tryb_jasny');
element.removeEventListener("click",UruchomTrybJakisTryb, false);
Tryby($(element),'uruchom_tryb_jasny');
}
if(klasa_oznaczenie_jasnego_lub_ciemnego=='uruchom_tryb_ciemny'){
if(!$(div_ciemny).hasClass('ciemny')){
div_ciemny.classList.add('ciemny');
}
}else if(klasa_oznaczenie_jasnego_lub_ciemnego=='uruchom_tryb_jasny'){
if($(div_ciemny).hasClass('ciemny')){
div_ciemny.classList.remove('ciemny');
}
}
break;
}
}
}
}
}
StronicowyParser.muteks.odblokuj();
}
element.addEventListener("click",UruchomTrybJakisTryb, false);
break;
}
}
}
}
StronicowyParser.muteks.odblokuj();
if(tab_promise){tab_promise.zwolnij();}
}
if(tab_promise){tab_promise.wygeneruj(1);};Tryby(tryb_jasny,'uruchom_tryb_jasny',tab_promise);
if(tab_promise){tab_promise.wygeneruj(1);};Tryby(tryb_ciemny,'uruchom_tryb_ciemny',tab_promise);
StronicowyParser.muteks.odblokuj();
if(tab_promise){tab_promise.zwolnij();}
}
StronicowyParser.TrybCiemnyIJasny(document);