NRuby

Форк
0
84 строки · 2.3 Кб
1
/**
2
 *
3
 * Darkfish Page Functions
4
 * $Id: darkfish.js 53 2009-01-07 02:52:03Z deveiant $
5
 *
6
 * Author: Michael Granger <mgranger@laika.com>
7
 *
8
 */
9

10
/* Provide console simulation for firebug-less environments */
11
/*
12
if (!("console" in window) || !("firebug" in console)) {
13
  var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
14
    "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
15

16
  window.console = {};
17
  for (var i = 0; i < names.length; ++i)
18
    window.console[names[i]] = function() {};
19
};
20
*/
21

22

23
function showSource( e ) {
24
  var target = e.target;
25
  while (!target.classList.contains('method-detail')) {
26
    target = target.parentNode;
27
  }
28
  if (typeof target !== "undefined" && target !== null) {
29
    target = target.querySelector('.method-source-code');
30
  }
31
  if (typeof target !== "undefined" && target !== null) {
32
    target.classList.toggle('active-menu')
33
  }
34
};
35

36
function hookSourceViews() {
37
  document.querySelectorAll('.method-heading').forEach(function (codeObject) {
38
    codeObject.addEventListener('click', showSource);
39
  });
40
};
41

42
function hookSearch() {
43
  var input  = document.querySelector('#search-field');
44
  var result = document.querySelector('#search-results');
45
  result.classList.remove("initially-hidden");
46

47
  var search_section = document.querySelector('#search-section');
48
  search_section.classList.remove("initially-hidden");
49

50
  var search = new Search(search_data, input, result);
51

52
  search.renderItem = function(result) {
53
    var li = document.createElement('li');
54
    var html = '';
55

56
    // TODO add relative path to <script> per-page
57
    html += '<p class="search-match"><a href="' + index_rel_prefix + result.path + '">' + this.hlt(result.title);
58
    if (result.params)
59
      html += '<span class="params">' + result.params + '</span>';
60
    html += '</a>';
61

62

63
    if (result.namespace)
64
      html += '<p class="search-namespace">' + this.hlt(result.namespace);
65

66
    if (result.snippet)
67
      html += '<div class="search-snippet">' + result.snippet + '</div>';
68

69
    li.innerHTML = html;
70

71
    return li;
72
  }
73

74
  search.select = function(result) {
75
    window.location.href = result.firstChild.firstChild.href;
76
  }
77

78
  search.scrollIntoView = search.scrollInWindow;
79
};
80

81
document.addEventListener('DOMContentLoaded', function() {
82
  hookSourceViews();
83
  hookSearch();
84
});
85

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.