[ Index ]

PHP Cross Reference of MediaWiki-1.24.0

title

Body

[close]

/resources/src/mediawiki.page/ -> mediawiki.page.ready.js (source)

   1  ( function ( mw, $ ) {
   2      var supportsPlaceholder = 'placeholder' in document.createElement( 'input' );
   3  
   4      // Break out of framesets
   5      if ( mw.config.get( 'wgBreakFrames' ) ) {
   6          // Note: In IE < 9 strict comparison to window is non-standard (the standard didn't exist yet)
   7          // it works only comparing to window.self or window.window (http://stackoverflow.com/q/4850978/319266)
   8          if ( window.top !== window.self ) {
   9              // Un-trap us from framesets
  10              window.top.location = window.location;
  11          }
  12      }
  13  
  14      mw.hook( 'wikipage.content' ).add( function ( $content ) {
  15          var $sortableTables;
  16  
  17          // Run jquery.placeholder polyfill if placeholder is not supported
  18          if ( !supportsPlaceholder ) {
  19              $content.find( 'input[placeholder]' ).placeholder();
  20          }
  21  
  22          // Run jquery.makeCollapsible
  23          $content.find( '.mw-collapsible' ).makeCollapsible();
  24  
  25          // Lazy load jquery.tablesorter
  26          $sortableTables = $content.find( 'table.sortable' );
  27          if ( $sortableTables.length ) {
  28              mw.loader.using( 'jquery.tablesorter', function () {
  29                  $sortableTables.tablesorter();
  30              } );
  31          }
  32  
  33          // Run jquery.checkboxShiftClick
  34          $content.find( 'input[type="checkbox"]:not(.noshiftselect)' ).checkboxShiftClick();
  35      } );
  36  
  37      // Things outside the wikipage content
  38      $( function () {
  39          var $nodes;
  40  
  41          if ( !supportsPlaceholder ) {
  42              // Exclude content to avoid hitting it twice for the (first) wikipage content
  43              $( 'input[placeholder]' ).not( '#mw-content-text input' ).placeholder();
  44          }
  45  
  46          // Add accesskey hints to the tooltips
  47          if ( document.querySelectorAll ) {
  48              // If we're running on a browser where we can do this efficiently,
  49              // just find all elements that have accesskeys. We can't use jQuery's
  50              // polyfill for the selector since looping over all elements on page
  51              // load might be too slow.
  52              $nodes = $( document.querySelectorAll( '[accesskey]' ) );
  53          } else {
  54              // Otherwise go through some elements likely to have accesskeys rather
  55              // than looping over all of them. Unfortunately this will not fully
  56              // work for custom skins with different HTML structures. Input, label
  57              // and button should be rare enough that no optimizations are needed.
  58              $nodes = $( '#column-one a, #mw-head a, #mw-panel a, #p-logo a, input, label, button' );
  59          }
  60          $nodes.updateTooltipAccessKeys();
  61  
  62      } );
  63  
  64  }( mediaWiki, jQuery ) );


Generated: Fri Nov 28 14:03:12 2014 Cross-referenced by PHPXref 0.7.1