MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus FürthWiki
Zur Navigation springen Zur Suche springen
K
 
(23 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */
 
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */
 
+
console.log('Greetings from MediaWiki:Common.js new one');
/**
 
* Piwik code starts here
 
*/
 
var _paq = _paq || [];
 
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
 
_paq.push(['trackPageView']);
 
_paq.push(['enableLinkTracking']);
 
(function() {
 
  var u="//fuerthwiki.de/piwik/";
 
  _paq.push(['setTrackerUrl', u+'piwik.php']);
 
  _paq.push(['setSiteId', '1']);
 
  var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
 
  g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
 
})();
 
/**
 
* Piwik code ends here
 
*/
 
 
 
/**
 
* star logo for featured articles in other languages,
 
* see Template:Link_FA and MediaWiki:Common.css
 
*/
 
addOnloadHook(function() {
 
    // early exit when disabled
 
    if (!linkFA_enabled) return;
 
 
 
    // skins need to be treated differently
 
    if (skin == "monobook" || skin == "simple") {
 
        newer();
 
    }
 
    else if (skin == "cologneblue" || skin == "nostalgia" || skin == "standard") {
 
        older();
 
    }
 
 
 
    /** skin == "monobook" || skin == "simple" */
 
    function newer() {
 
        // links are to replaced in p-lang only
 
        var pLang = document.getElementById("p-lang");
 
        if (!pLang) return;
 
        var lis = pLang.getElementsByTagName("li");
 
        for (var i = 0; i < lis.length; i++) {
 
            var li = lis[i];
 
            // only links with a corresponding Link_FA template are interesting
 
            if (!document.getElementById(li.className + "-fa"))  continue;
 
            // additional class so the template can be hidden with CSS
 
            li.className += " FA";
 
            // change title
 
            li.title = linkFA_description;
 
        }
 
    }
 
 
 
    /** skin == "cologneblue" || skin == "nostalgia" || skin == "standard" */
 
    function older() {
 
        // these root elements can contain FA-links
 
        var rootIds = new Array("topbar", "footer");
 
        for (var i=0; i<rootIds.length; i++) {
 
            var rootId  = rootIds[i];
 
            var root    = document.getElementById(rootId);
 
            if (!root)  continue;
 
 
 
            // if the root exists, try to decorate all the links within
 
            var links  = root.getElementsByTagName("a");
 
            for (var j=0; j<links.length; j++) {
 
                var link    = links[j];
 
                decorate(link);
 
            }
 
        }
 
    }
 
 
 
    /** id necessary, modify a link to show the FA-star (older) */
 
    function decorate(link) {
 
        // exit if not a FA-link
 
        var lang    = link.title.split(":")[0]; // not precise enough
 
        var fa      = document.getElementById("interwiki-" + lang + "-fa");
 
        if (!fa)    return;
 
        // possible problem owing the standard skin: "Link FA" template is transcluded with a non-interwiki parameter, for example "Special"
 
        // result: links to special pages in the topbar and/or footer might also be marked as a Featured Article
 
 
 
        // build an image-node for the FA-star
 
        var img = document.createElement("img");
 
        img.setAttribute("src",    linkFA_bullet);
 
        img.setAttribute("alt",    linkFA_description);
 
        img.setAttribute("style",  linkFA_style);
 
 
 
        // decorate the link with the image
 
        link.appendChild(img);
 
        link.appendChild(link.removeChild(link.firstChild));
 
        link.setAttribute("title", linkFA_description);
 
    }
 
});
 
 
 
 
 
// Verwendung von OpenStreetMap in Wikipedia.
 
// (c) 2008 by Magnus Manske
 
// Released under GPL
 
 
 
 
 
function openStreetMapInit () {
 
  c = document.getElementById ( 'coordinates' ) ;
 
  if ( !c ) return ;
 
 
 
  a = c.getElementsByTagName ( 'a' ) ;
 
  geohack = 0 ;
 
  for ( i = 0 ; i < a.length ; i++ ) {
 
    h = a[i].href ;
 
    if ( !h.match(/geohack/) ) continue ;
 
    geohack = 1 ;
 
    break ;
 
  }
 
  if ( geohack == 0 ) return ;
 
 
 
  na = document.createElement ( 'a' ) ;
 
  na.href = '#' ;
 
  na.onclick = openStreetMapToggle ;
 
  na.appendChild ( document.createTextNode ( 'OSM' ) ) ;
 
//  c.appendChild ( document.createElement ( 'br' ) )
 
  c.appendChild ( document.createTextNode ( '(' ) ) ;
 
  c.appendChild ( na ) ;
 
  c.appendChild ( document.createTextNode ( ')  ' ) ) ;
 
}
 
 
 
function openStreetMapToggle () {
 
  c = document.getElementById ( 'coordinates' ) ;
 
  if ( !c ) return ;
 
  cs = document.getElementById ( 'contentSub' ) ;
 
  osm = document.getElementById ( 'openstreetmap' ) ;
 
 
 
  if ( cs && osm ) {
 
    cs.removeChild ( osm ) ;
 
    return ;
 
  }
 
 
 
  a = c.getElementsByTagName ( 'a' ) [0] ;
 
  h = a.href ;
 
  h = h.split('params=')[1] ;
 
 
 
  i = document.createElement ( 'iframe' ) ;
 
  url = 'http://tools.wikimedia.de/~magnus/ol/wp_poi.php?title=' + wgTitle ;
 
  url += '&language=' + wgUserLanguage ;
 
  url += '&params=' + h ;
 
  i.id = 'openstreetmap' ;
 
  i.style.width = '100%' ;
 
  i.style.height = '300px' ;
 
  i.style.clear = 'both' ;
 
  i.src = url ;
 
  cs.appendChild ( i ) ;
 
}
 
addOnloadHook(openStreetMapInit);
 
 
 
  
 
/* *************************************************
 
/* *************************************************
Zeile 155: Zeile 6:
 
  * fixes #36
 
  * fixes #36
 
  */
 
  */
$('.tabs-label').click(function(e) {  
+
$(document).ready(function() {
  setTimeout(function() {  
+
$('.tabs-label').click(function(e) {
    window.maps.leafletList.forEach(function(l) {
+
var mapExists = setInterval(function() {
      l.map.invalidateSize(false);  
+
var counter = 0;
    });
+
var mapsLeafletList = window.mapsLeafletList;
  }, 100);  
+
if (mapsLeafletList && mapsLeafletList.length) {
 +
mapsLeafletList.forEach(function(l) {
 +
if (l.map) {
 +
l.map.invalidateSize(false);
 +
clearInterval(mapExists);
 +
}
 +
});
 +
}
 +
if (counter++ > 10) clearInterval(mapExists);
 +
}, 100);
 +
});
 
});
 
});

Aktuelle Version vom 4. Februar 2024, 02:53 Uhr

/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */
console.log('Greetings from MediaWiki:Common.js new one');

/* *************************************************
 * Reinitialize leaflet after each tab change.
 * fixes #36
 */
$(document).ready(function() {
	$('.tabs-label').click(function(e) {
		var mapExists = setInterval(function() {
			var counter = 0;
			var mapsLeafletList = window.mapsLeafletList;
			if (mapsLeafletList && mapsLeafletList.length) {
				mapsLeafletList.forEach(function(l) {
					if (l.map) {
						l.map.invalidateSize(false);
						clearInterval(mapExists);
					}
				});
			}
			if (counter++ > 10) clearInterval(mapExists);
		}, 100);
	});
});