MediaWiki:Common.js

Aus MitsuWiki
Wechseln zu: Navigation, Suche

Hinweis: Leere nach dem Speichern den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Internet Explorer: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Extras → Internetspuren löschen … → Individuelle Auswahl → Den kompletten Cache löschen
/* Das folgende JavaScript wird für alle Benutzer geladen. */

///////////////////////
// Table Filter/Sort //
///////////////////////
// specific to  http://offene-naturfuehrer.de
// TODO ?replace by jQuery plugin datatable?
 
function initTableFilterSort(){ // see MediaWiki:SortTableFilter.js
/* Note: problem is auto-inserted <tbody></tbody> by the browser: must be removed and
   replaced by thead + tbody. jQuery.unwrap() was not successful */
   // add possibly more classes from http://www.javascripttoolbox.com/lib/table/documentation.php
  // Note: only applies to non-nested tables
  var jAutotables = $('table.table-autosort, table.table-autofilter, table-autostripe,table-sorted-asc,table-sorted-desc, table-filtered');
  if (jAutotables.length) {
    // Note: in MediaWiki:SortTableFilter.js 'InputFilterTitle' was not recognized
    $.extend(true, $.jI18n, {
    en: {
      AutoSortTitle : 'Click to sort',
      FilterAllLabel: 'Filter: All',
      InputFilterTitle: 'Filter text (case sensitive, uses reg. expressions)'
    },
    de: {
      AutoSortTitle : 'Zum Sortieren klicken',
      FilterAllLabel: 'Zeige: alle',
      InputFilterTitle: 'Text filtern (GROß/klein!, nutzt reg. Ausdrücke)'
    }
    });
    // get sortable/filterable here already otherwise multiple th-filters
    $.getScript(mw.config.get( 'wgServer' ) + mw.config.get( 'wgScript' ) + "?title=MediaWiki:SortTableFilter.js&action=raw&ctype=text/javascript",
      function(){return true;});
    // modify tables to introduce thead structure
    jAutotables.each(function(index){ //TODO simplify code? if()…
      // There may or may not be a tbody around tr. NOTE: $.unwrap() does not work here!
      // Memo: find('tr th') finds th, .parent() retrieves tr! .wrapAll will wrap inside DOM, not in return value! .detach() returns detached
      // OK in FF 3.6 and IE 7-8, not in IE6 (like the old code)
      // FURTHER WORK: Ideally, all normal tr td should remain in a tbody.
      var jThis = $(this),
        jThead = jThis.find('tr th').parent().detach(),
        jTfoot = jThis.find('tr[class=tfoot] td').parent().detach(),// remove it from the DOM
        jTbody = jThis.find('tbody:first');
      if (jTbody.length===0) {
        jThis.children().wrapAll('<tbody/>');
        jTbody = jThis.find('tbody:first');
      }
      jTbody.before($("<thead/>").append(jThead));
      if (jTfoot.length) {
        jTbody.after($("<tfoot/>").append(jTfoot));
      }
      // th with class="input" gives an input field instead of selections
      $(this).find('th[class=input]').append('<input name="filter" title="'+$.resource('InputFilterTitle')+'" size="8" onkeyup="Table.filter(this,this)">');
    });// end each()
  } // END if any autotable
}


/*
   mediaWiki.loader.state({"site":"ready"}); is appended and takes care of
   the document ready event. If $(document).ready() is used, for forms
   $ is then unknown. Scope or closure problem? (AP 2011-02-20)
 */
// When document is completely loaded
$(document).ready(function() {
  initImageZooming();
  initTargetHighlighting(); // page-internal jumps
  initmoveTOC(); // TOC CSS position fixed or static
  // specific to  http://offene-naturfuehrer.de
    initTableFilterSort(); // tests internally whether table with corresponding classes exist 
}); // end $(document).ready()
  // ***** CAN initCollapseButtons BE DELETED?
  // TEST: COMMENTED OUT
  // initCollapseButtons(); // strongly changes page layout: execute first
  initCluetips();
  // page specific
  if(mw.config.get( 'wgAction' )==="formedit" || mw.config.get( 'wgCanonicalSpecialPageName' )==="FormEdit"){
   // initConfirmDeleteSubform();
    initMarkAllFilledFormElements();
  }
  // specific to  http://offene-naturfuehrer.de
    initCollapsebox(); //collapsible parts 
// </source>