Zuletzt bearbeitet vor 2 Monaten
von Mark Wagner

MediaWiki:Common.js: Unterschied zwischen den Versionen

Keine Kategorien vergebenBearbeiten
Keine Bearbeitungszusammenfassung
Markierung: Zurückgesetzt
Keine Bearbeitungszusammenfassung
Markierung: Zurückgesetzt
Zeile 35: Zeile 35:
});
});
/* MediaWiki:Common.js */
/* MediaWiki:Common.js */
$(function() {
$(function(){
   // Relativer Pfad der aktuellen Seite
   // 0) Alles erstmal zurücksetzen: Zweige zu und Inline-Stile weg
   var current = window.location.pathname;
   $('a.mws-tree-expander.expanded').each(function(){
    $(this)
      .removeClass('expanded')
      .addClass('collapsed')
      .attr('aria-expanded','false');
  });
  $('ul.mws-tree-item-children').hide();
  $('a.mws-tree-item-label').css({
    'background':'',
    'font-weight':'',
    'color':'',
    'border-left':'',
    'padding-left':''
  });


   // Lese gespeichertes lastNav
   // 1) Gespeicherte URL aus window.name auslesen
   var lastNav = null;
   var lastNav = null;
   try {
   try {
     lastNav = JSON.parse(window.name || '{}').lastNav;
     lastNav = JSON.parse(window.name || '{}').lastNav;
   } catch (e) {}
   } catch (e) {}
 
 
   // Funktion: schließe alle active-Links wieder
   // 2) Wenn lastNav exakt die aktuelle Seite ist, Zweig wieder aufklappen + inline-stylen
   function collapseAllActive() {
   if ( lastNav && lastNav === window.location.pathname ) {
     $('a.mws-tree-item-label.active').each(function() {
     var $link = $('a.mws-tree-item-label[href="' + lastNav + '"]');
      var $link    = $(this),
    if ( $link.length ) {
          relHref  = $link.attr('href'),
       // Alle Eltern-LI öffnen
          $parents = $link.parents('li.mws-tree-item');
       $link.parents('li.mws-tree-item').each(function(){
       // entferne active-Stil
       $link.removeClass('active').css({
        'background-color': '',
        'font-weight': '',
        'color': '',
        'border-left': '',
        'padding-left': ''
      });
      // schließe jeden Parent-Zweig
      $parents.each(function() {
         var $li      = $(this),
         var $li      = $(this),
             $exp      = $li.children('div').children('a.mws-tree-expander.expanded'),
             $expander = $li.children('div').children('a.mws-tree-expander.collapsed'),
             $submenu = $li.children('ul.mws-tree-item-children');
             $submenu = $li.children('ul.mws-tree-item-children');
         if ($exp.length) {
         if ( $expander.length ) {
           $exp
           $expander
             .removeClass('expanded')
             .removeClass('collapsed')
             .addClass('collapsed')
             .addClass('expanded')
             .attr('aria-expanded','false');
             .attr('aria-expanded','true');
         }
         }
         if ($submenu.length) {
         if ( $submenu.length ) {
           $submenu.hide();
           $submenu.show();
         }
         }
       });
       });
    });
      // Active-Link inline stylen
  }
      $link.css({
 
        'background-color':'#eef',
  // Wenn lastNav existiert aber nicht mit current übereinstimmt, collapse all
        'font-weight':'bold',
  if (lastNav && lastNav !== current) {
        'color':'#003366',
    collapseAllActive();
        'border-left':'3px solid #3878C7',
     return; // kein neues Aufklappen
        'padding-left':'0.5em'
      });
      // Scroll zum Link
      $('html, body').scrollTop( $link.offset().top - 80 );
     }
   }
   }


   // Ab hier: lastNav === current → öffne Zweig und markiere
   // 3) Klick-Handler: speichere jeden Klick erneut in window.name
  var attempts = 0,
  $('body').on('click','a.mws-tree-item-label',function(){
      interval = setInterval(function() {
    try {
    attempts++;
       window.name = JSON.stringify({ lastNav: this.getAttribute('href') });
    if (!lastNav || attempts > 10) {
     } catch (e) {}
      clearInterval(interval);
   });
      return;
    }
    var $link = $('a.mws-tree-item-label[href="' + lastNav + '"]');
    if ($link.length) {
      clearInterval(interval);
      // aufklappen
      $link.parents('li.mws-tree-item').each(function() {
        var $exp = $(this).children('div').children('a.mws-tree-expander.collapsed');
        if ($exp.length) {
          $exp.trigger('click');
        }
      });
       // inline-highlight & class active
      $link
        .addClass('active')
        .css({
          'background-color': '#eef',
          'font-weight': 'bold',
          'color': '#003366',
          'border-left': '3px solid #3878C7',
          'padding-left': '0.5em'
        });
      // scroll
      $('html, body').scrollTop($link.offset().top - 80);
     }
   }, 300);
});
});

Version vom 11. Juni 2025, 21:21 Uhr

/* Das folgende JavaScript wird für alle Benutzer geladen. */
/**
 * Entfernt das Wort „Fortsetzung“ aus allen SMW-Spalten-Headern (div.smw-column-header).
 * Leg die Datei MediaWiki:Common.js (oder Discovery.js) an bzw. bearbeite sie:
 *
 * 1. Gehe als Admin auf Special:Edit/MediaWiki:Common.js
 * 2. Füge diesen Code ans Ende ein und speichere.
 * 3. Leere den Browser-Cache (STRG + F5), damit das neue JS geladen wird.
 */
mw.loader.using(['jquery'], function () {
    $(document).ready(function () {
        $('.smw-column-header').each(function () {
            // aktuellen HTML-Inhalt holen
            var html = $(this).html();
            // "Fortsetzung" entfernen, Leerzeichen ggf. bereinigen
            var newHtml = html.replace(/Fortsetzung/g, '').trim();
            // falls nach dem Entfernen gar kein Text übrig ist, komplette Header-Box ausblenden:
            if (newHtml === '') {
                $(this).hide();
            } else {
                // ansonsten nur den Text überschreiben, sodass z. B. "B Fortsetzung" → "B" wird
                $(this).html(newHtml);
            }
        });
        $(function () {
			    $('<style>')
			      .prop('type', 'text/css')
			      .html(
			        '.breadcrumb-item { font-size: 17px !important; }' +
			        '.breadcrumb-nav  { border-bottom: 2px solid #85bc20!important; margin-bottom: 20px !important; }'
			      )
			      .appendTo('head');
		});
	});
});
/* MediaWiki:Common.js */
$(function(){
  // 0) Alles erstmal zurücksetzen: Zweige zu und Inline-Stile weg
  $('a.mws-tree-expander.expanded').each(function(){
    $(this)
      .removeClass('expanded')
      .addClass('collapsed')
      .attr('aria-expanded','false');
  });
  $('ul.mws-tree-item-children').hide();
  $('a.mws-tree-item-label').css({
    'background':'',
    'font-weight':'',
    'color':'',
    'border-left':'',
    'padding-left':''
  });

  // 1) Gespeicherte URL aus window.name auslesen
  var lastNav = null;
  try {
    lastNav = JSON.parse(window.name || '{}').lastNav;
  } catch (e) {}
  
  // 2) Wenn lastNav exakt die aktuelle Seite ist, Zweig wieder aufklappen + inline-stylen
  if ( lastNav && lastNav === window.location.pathname ) {
    var $link = $('a.mws-tree-item-label[href="' + lastNav + '"]');
    if ( $link.length ) {
      // Alle Eltern-LI öffnen
      $link.parents('li.mws-tree-item').each(function(){
        var $li       = $(this),
            $expander = $li.children('div').children('a.mws-tree-expander.collapsed'),
            $submenu  = $li.children('ul.mws-tree-item-children');
        if ( $expander.length ) {
          $expander
            .removeClass('collapsed')
            .addClass('expanded')
            .attr('aria-expanded','true');
        }
        if ( $submenu.length ) {
          $submenu.show();
        }
      });
      // Active-Link inline stylen
      $link.css({
        'background-color':'#eef',
        'font-weight':'bold',
        'color':'#003366',
        'border-left':'3px solid #3878C7',
        'padding-left':'0.5em'
      });
      // Scroll zum Link
      $('html, body').scrollTop( $link.offset().top - 80 );
    }
  }

  // 3) Klick-Handler: speichere jeden Klick erneut in window.name
  $('body').on('click','a.mws-tree-item-label',function(){
    try {
      window.name = JSON.stringify({ lastNav: this.getAttribute('href') });
    } catch (e) {}
  });
});