Вход Регистрация
Файл: CodeIgniter-3.0.3/user_guide/_static/doctools.js
Строк: 293
<?php
/*
 * doctools.js
 * ~~~~~~~~~~~
 *
 * Sphinx JavaScript utilities for all documentation.
 *
 * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS.
 * :license: BSD, see LICENSE for details.
 *
 */

/**
 * select a different prefix for underscore
 */
$u _.noConflict();

/**
 * make the code below compatible with browsers without
 * an installed firebug like debugger
if (!window.console || !console.firebug) {
  var names = ["log", "debug", "info", "warn", "error", "assert", "dir",
    "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace",
    "profile", "profileEnd"];
  window.console = {};
  for (var i = 0; i < names.length; ++i)
    window.console[names[i]] = function() {};
}
 */

/**
 * small helper function to urldecode strings
 */
jQuery.urldecode = function(x) {
  return 
decodeURIComponent(x).replace(/+/g' ');
};

/**
 * small helper function to urlencode strings
 */
jQuery.urlencode encodeURIComponent;

/**
 * This function returns the parsed url parameters of the
 * current request. Multiple values per key are supported,
 * it will always return arrays of strings for the value parts.
 */
jQuery.getQueryParameters = function(s) {
  if (
typeof s == 'undefined')
    
document.location.search;
  var 
parts s.substr(s.indexOf('?') + 1).split('&');
  var 
result = {};
  for (var 
0parts.lengthi++) {
    var 
tmp parts[i].split('='2);
    var 
key jQuery.urldecode(tmp[0]);
    var 
value jQuery.urldecode(tmp[1]);
    if (
key in result)
      
result[key].push(value);
    else
      
result[key] = [value];
  }
  return 
result;
};

/**
 * highlight a given string on a jquery object by wrapping it in
 * span elements with the given class name.
 */
jQuery.fn.highlightText = function(textclassName) {
  function 
highlight(node) {
    if (
node.nodeType == 3) {
      var 
val node.nodeValue;
      var 
pos val.toLowerCase().indexOf(text);
      if (
pos >= && !jQuery(node.parentNode).hasClass(className)) {
        var 
span document.createElement("span");
        
span.className className;
        
span.appendChild(document.createTextNode(val.substr(postext.length)));
        
node.parentNode.insertBefore(spannode.parentNode.insertBefore(
          
document.createTextNode(val.substr(pos text.length)),
          
node.nextSibling));
        
node.nodeValue val.substr(0pos);
      }
    }
    else if (!
jQuery(node).is("button, select, textarea")) {
      
jQuery.each(node.childNodes, function() {
        
highlight(this);
      });
    }
  }
  return 
this.each(function() {
    
highlight(this);
  });
};

/**
 * Small JavaScript module for the documentation.
 */
var Documentation = {

  
init : function() {
    
this.fixFirefoxAnchorBug();
    
this.highlightSearchWords();
    
this.initIndexTable();
  },

  
/**
   * i18n support
   */
  
TRANSLATIONS : {},
  
PLURAL_EXPR : function(n) { return == 1; },
  
LOCALE 'unknown',

  
// gettext and ngettext don't access this so that the functions
  // can safely bound to a different name (_ = Documentation.gettext)
  
gettext : function(string) {
    var 
translated Documentation.TRANSLATIONS[string];
    if (
typeof translated == 'undefined')
      return 
string;
    return (
typeof translated == 'string') ? translated translated[0];
  },

  
ngettext : function(singularpluraln) {
    var 
translated Documentation.TRANSLATIONS[singular];
    if (
typeof translated == 'undefined')
      return (
== 1) ? singular plural;
    return 
translated[Documentation.PLURALEXPR(n)];
  },

  
addTranslations : function(catalog) {
    for (var 
key in catalog.messages)
      
this.TRANSLATIONS[key] = catalog.messages[key];
    
this.PLURAL_EXPR = new Function('n''return +(' catalog.plural_expr ')');
    
this.LOCALE catalog.locale;
  },

  
/**
   * add context elements like header anchor links
   */
  
addContextElements : function() {
    $(
'div[id] > :header:first').each(function() {
      $(
'<a class="headerlink">u00B6</a>').
      
attr('href''#' this.id).
      
attr('title'_('Permalink to this headline')).
      
appendTo(this);
    });
    $(
'dt[id]').each(function() {
      $(
'<a class="headerlink">u00B6</a>').
      
attr('href''#' this.id).
      
attr('title'_('Permalink to this definition')).
      
appendTo(this);
    });
  },

  
/**
   * workaround a firefox stupidity
   */
  
fixFirefoxAnchorBug : function() {
    if (
document.location.hash && $.browser.mozilla)
      
window.setTimeout(function() {
        
document.location.href += '';
      }, 
10);
  },

  
/**
   * highlight the search words provided in the url in the text
   */
  
highlightSearchWords : function() {
    var 
params = $.getQueryParameters();
    var 
terms = (params.highlight) ? params.highlight[0].split(/s+/) : [];
    if (
terms.length) {
      var 
body = $('div.body');
      if (!
body.length) {
        
body = $('body');
      }
      
window.setTimeout(function() {
        $.
each(terms, function() {
          
body.highlightText(this.toLowerCase(), 'highlighted');
        });
      }, 
10);
      $(
'<p class="highlight-link"><a href="javascript:Documentation.' +
        
'hideSearchWords()">' _('Hide Search Matches') + '</a></p>')
          .
appendTo($('#searchbox'));
    }
  },

  
/**
   * init the domain index toggle buttons
   */
  
initIndexTable : function() {
    var 
togglers = $('img.toggler').click(function() {
      var 
src = $(this).attr('src');
      var 
idnum = $(this).attr('id').substr(7);
      $(
'tr.cg-' idnum).toggle();
      if (
src.substr(-9) == 'minus.png')
        $(
this).attr('src'src.substr(0src.length-9) + 'plus.png');
      else
        $(
this).attr('src'src.substr(0src.length-8) + 'minus.png');
    }).
css('display''');
    if (
DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) {
        
togglers.click();
    }
  },

  
/**
   * helper function to hide the search marks again
   */
  
hideSearchWords : function() {
    $(
'#searchbox .highlight-link').fadeOut(300);
    $(
'span.highlighted').removeClass('highlighted');
  },

  
/**
   * make the url absolute
   */
  
makeURL : function(relativeURL) {
    return 
DOCUMENTATION_OPTIONS.URL_ROOT '/' relativeURL;
  },

  
/**
   * get the current relative url
   */
  
getCurrentURL : function() {
    var 
path document.location.pathname;
    var 
parts path.split(///);
    
$.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(///), function() {
      
if (this == '..')
        
parts.pop();
    });
    var 
url parts.join('/');
    return 
path.substring(url.lastIndexOf('/') + 1path.length 1);
  }
};

// quick alias for translations
Documentation.gettext;

$(
document).ready(function() {
  
Documentation.init();
});
?>
Онлайн: 4
Реклама