تضامنًا مع حق الشعب الفلسطيني |
ميدياويكي:Gadget-imgToggle.js
اذهب إلى التنقل
اذهب إلى البحث
ملاحظة: بعد الحفظ، قد يلزمك إفراغ الكاش لرؤية التغييرات.
/**
* img_toogle
*
* from [[:fr:mediawiki:common.js]]
*
*/
function GeoBox_Init( Element ) {
if(!Element) Element = document.body;
$( Element ).find( '.img_toggle' ).each( function ( i, Container ) {
Container.id = 'img_toggle_' + i;
var Boxes = $( Container ).find( '.geobox' );
if ( Boxes.length < 2 ) {
return;
}
var ToggleLinksDiv = document.createElement( 'ul' );
ToggleLinksDiv.id = 'geoboxToggleLinks_' + i;
Boxes.each( function ( a, ThisBox ) {
ThisBox.id = 'geobox_' + i + '_' + a;
var ThisAlt;
var ThisImg = ThisBox.getElementsByTagName( 'img' )[ 0 ];
if ( ThisImg ) {
ThisAlt = ThisImg.alt;
}
if ( !ThisAlt ) {
ThisAlt = 'erreur : description non trouvée';
}
var toggle = document.createElement( 'a' );
toggle.id = 'geoboxToggle_' + i + '_' + a;
toggle.textContent = ThisAlt;
toggle.href = 'javascript:';
toggle.onclick = function ( e ) {
e.preventDefault();
GeoBox_Toggle( this );
};
var Li = document.createElement( 'li' );
Li.appendChild( toggle );
ToggleLinksDiv.appendChild( Li );
if ( a === 0 ) {
toggle.style.color = '#888';
toggle.style.pointerEvents = 'none';
} else {
ThisBox.style.display = 'none';
}
} );
Container.appendChild( ToggleLinksDiv );
} );
}
function GeoBox_Toggle( link ) {
var ImgToggleIndex = link.id.replace( 'geoboxToggle_', '' ).replace( /_.*/g, '' );
var GeoBoxIndex = link.id.replace( /.*_/g, '' );
var ImageToggle = document.getElementById( 'img_toggle_' + ImgToggleIndex );
var Links = document.getElementById( 'geoboxToggleLinks_' + ImgToggleIndex );
var Geobox = document.getElementById( 'geobox_' + ImgToggleIndex + '_' + GeoBoxIndex );
var Link = document.getElementById( 'geoboxToggle_' + ImgToggleIndex + '_' + GeoBoxIndex );
if ( !ImageToggle || !Links || !Geobox || !Link ) {
return;
}
$( ImageToggle ).find( '.geobox' ).each( function ( _, ThisgeoBox ) {
if ( ThisgeoBox.id === Geobox.id ) {
ThisgeoBox.style.display = '';
} else {
ThisgeoBox.style.display = 'none';
}
} );
$( Links ).find( 'a' ).each( function ( _, thisToggleLink ) {
if ( thisToggleLink.id === Link.id ) {
thisToggleLink.style.color = '#888';
thisToggleLink.style.pointerEvents = 'none';
} else {
thisToggleLink.style.color = '';
thisToggleLink.style.pointerEvents = '';
}
} );
}
if ( ( mw.config.get( 'wgAction' ) === 'view' ||
mw.config.get( 'wgAction' ) === 'purge' ||
mw.config.get( 'wgAction' ) === 'submit' )
) {
$( function() {
GeoBox_Init();
} );
}