MediaWiki:Mobile.js: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
lista przypisow (<ol>) jest teraz zagniezdzona w elemencie <div> |
od niedawna mamy wszedzie puste <dd> w kazdym polu, zob. 'BTW' w Specjalna:Diff/6179472 |
||
Linia 25: | Linia 25: | ||
var dd = this.getElementsByTagName( 'dd' )[ 0 ]; |
var dd = this.getElementsByTagName( 'dd' )[ 0 ]; |
||
if ( !dd || dd.textContent === '(1.1)' ) { |
if ( !dd || dd.textContent === '' || dd.textContent === '(1.1)' ) { |
||
this.style.display = 'none'; |
this.style.display = 'none'; |
||
} |
} |
Wersja z 15:53, 11 maj 2018
// http://stackoverflow.com/questions/6548748/portability-of-nextelementsibling-nextsibling
function nextElementSibling( el ) {
do { el = el.nextSibling } while ( el && el.nodeType !== 1 );
return el;
}
// Ukrywanie niewypełnionych pól
if (
mw.config.get( 'wgNamespaceNumber' ) === 0 &&
mw.config.get( 'wgAction' ) === 'view'
) {
$( function () {
$( 'dl:has(.field)' ).each( function () {
var nxtSbl = this.nextElementSibling || nextElementSibling( this );
if ( nxtSbl && nxtSbl.nodeName !== 'DL' && (
nxtSbl.nodeName === 'P' || // sekcja 'znaczenia'
nxtSbl.nodeName === 'UL' || // lista tłumaczeń
nxtSbl.className === 'mw-references-wrap' // lista przypisów
) ) {
return true;
}
var dd = this.getElementsByTagName( 'dd' )[ 0 ];
if ( !dd || dd.textContent === '' || dd.textContent === '(1.1)' ) {
this.style.display = 'none';
}
} );
} );
}
// Elementy NavFrame - przeróbka kodu z [[:en:MediaWiki:Mobile.js]]
function navToggles() {
var divs = document.getElementsByClassName
? document.getElementsByClassName( 'NavFrame' )
: document.getElementsByTagName( 'div' );
for ( var i = 0; i < divs.length; i++ ) {
if ( divs[ i ].className.indexOf( 'NavFrame' ) !== -1 ) {
createNavToggle( divs[ i ] );
}
}
}
var NavigationBarHide = 'ukryj ▲';
var NavigationBarShow = 'pokaż ▼';
function createNavToggle( navFrame ) {
var navHead, navToggle, navContent;
for ( var j = 0; j < navFrame.childNodes.length; j++ ) {
var div = navFrame.childNodes[ j ];
switch ( div.className ) {
case 'NavHead':
navHead = div;
break;
case 'NavContent':
navContent = div;
break;
}
}
if ( !navHead || !navContent ) {
return;
}
navToggle = document.createElement( 'a' );
navToggle.setAttribute( 'href', 'javascript:(function (){})()' );
var toggle = document.createElement( 'span' );
toggle.className = 'NavToggle mw-ui-button mw-ui-progressive';
toggle.appendChild( navToggle );
navHead.insertBefore( toggle, navHead.firstChild );
navHead.onclick = function () {
if ( navContent ) {
var s = navContent.style;
if ( s.display === 'none' ) {
navToggle.innerHTML = NavigationBarHide;
s.display = 'block';
} else {
navToggle.innerHTML = NavigationBarShow;
s.display = 'none';
}
}
};
navHead.onclick();
}
$( function () {
navToggles();
} );