summaryrefslogtreecommitdiff
path: root/lib/rdoc/generator/template/darkfish/js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rdoc/generator/template/darkfish/js')
-rw-r--r--lib/rdoc/generator/template/darkfish/js/darkfish.js120
-rw-r--r--lib/rdoc/generator/template/darkfish/js/search.js110
2 files changed, 0 insertions, 230 deletions
diff --git a/lib/rdoc/generator/template/darkfish/js/darkfish.js b/lib/rdoc/generator/template/darkfish/js/darkfish.js
deleted file mode 100644
index 4c15efde66..0000000000
--- a/lib/rdoc/generator/template/darkfish/js/darkfish.js
+++ /dev/null
@@ -1,120 +0,0 @@
-/**
- *
- * Darkfish Page Functions
- * $Id: darkfish.js 53 2009-01-07 02:52:03Z deveiant $
- *
- * Author: Michael Granger <[email protected]>
- *
- */
-
-/* Provide console simulation for firebug-less environments */
-/*
-if (!("console" in window) || !("firebug" in console)) {
- 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() {};
-};
-*/
-
-
-function showSource( e ) {
- var target = e.target;
- while (!target.classList.contains('method-detail')) {
- target = target.parentNode;
- }
- if (typeof target !== "undefined" && target !== null) {
- target = target.querySelector('.method-source-code');
- }
- if (typeof target !== "undefined" && target !== null) {
- target.classList.toggle('active-menu')
- }
-};
-
-function hookSourceViews() {
- document.querySelectorAll('.method-source-toggle').forEach(function (codeObject) {
- codeObject.addEventListener('click', showSource);
- });
-};
-
-function hookSearch() {
- var input = document.querySelector('#search-field');
- var result = document.querySelector('#search-results');
- result.classList.remove("initially-hidden");
-
- var search_section = document.querySelector('#search-section');
- search_section.classList.remove("initially-hidden");
-
- var search = new Search(search_data, input, result);
-
- search.renderItem = function(result) {
- var li = document.createElement('li');
- var html = '';
-
- // TODO add relative path to <script> per-page
- html += '<p class="search-match"><a href="' + index_rel_prefix + this.escapeHTML(result.path) + '">' + this.hlt(result.title);
- if (result.params)
- html += '<span class="params">' + result.params + '</span>';
- html += '</a>';
-
-
- if (result.namespace)
- html += '<p class="search-namespace">' + this.hlt(result.namespace);
-
- if (result.snippet)
- html += '<div class="search-snippet">' + result.snippet + '</div>';
-
- li.innerHTML = html;
-
- return li;
- }
-
- search.select = function(result) {
- window.location.href = result.firstChild.firstChild.href;
- }
-
- search.scrollIntoView = search.scrollInWindow;
-};
-
-function hookFocus() {
- document.addEventListener("keydown", (event) => {
- if (document.activeElement.tagName === 'INPUT') {
- return;
- }
- if (event.key === "/") {
- event.preventDefault();
- document.querySelector('#search-field').focus();
- }
- });
-}
-
-function hookSidebar() {
- var navigation = document.querySelector('#navigation');
- var navigationToggle = document.querySelector('#navigation-toggle');
-
- navigationToggle.addEventListener('click', function() {
- navigation.hidden = !navigation.hidden;
- navigationToggle.ariaExpanded = navigationToggle.ariaExpanded !== 'true';
- });
-
- var isSmallViewport = window.matchMedia("(max-width: 1023px)").matches;
- if (isSmallViewport) {
- navigation.hidden = true;
- navigationToggle.ariaExpanded = false;
- document.addEventListener('click', (e) => {
- if (e.target.closest('#navigation a')) {
- navigation.hidden = true;
- navigationToggle.ariaExpanded = false;
- }
- });
- }
-}
-
-document.addEventListener('DOMContentLoaded', function() {
- hookSourceViews();
- hookSearch();
- hookFocus();
- hookSidebar();
-});
diff --git a/lib/rdoc/generator/template/darkfish/js/search.js b/lib/rdoc/generator/template/darkfish/js/search.js
deleted file mode 100644
index d3cded1d57..0000000000
--- a/lib/rdoc/generator/template/darkfish/js/search.js
+++ /dev/null
@@ -1,110 +0,0 @@
-Search = function(data, input, result) {
- this.data = data;
- this.input = input;
- this.result = result;
-
- this.current = null;
- this.view = this.result.parentNode;
- this.searcher = new Searcher(data.index);
- this.init();
-}
-
-Search.prototype = Object.assign({}, Navigation, new function() {
- var suid = 1;
-
- this.init = function() {
- var _this = this;
- var observer = function(e) {
- switch(e.key) {
- case 'ArrowUp':
- case 'ArrowDown':
- return;
- }
- _this.search(_this.input.value);
- };
- this.input.addEventListener('keyup', observer);
- this.input.addEventListener('click', observer); // mac's clear field
-
- this.searcher.ready(function(results, isLast) {
- _this.addResults(results, isLast);
- })
-
- this.initNavigation();
- this.setNavigationActive(false);
- }
-
- this.search = function(value, selectFirstMatch) {
- value = value.trim().toLowerCase();
- if (value) {
- this.setNavigationActive(true);
- } else {
- this.setNavigationActive(false);
- }
-
- if (value == '') {
- this.lastQuery = value;
- this.result.innerHTML = '';
- this.result.setAttribute('aria-expanded', 'false');
- this.setNavigationActive(false);
- } else if (value != this.lastQuery) {
- this.lastQuery = value;
- this.result.setAttribute('aria-busy', 'true');
- this.result.setAttribute('aria-expanded', 'true');
- this.firstRun = true;
- this.searcher.find(value);
- }
- }
-
- this.addResults = function(results, isLast) {
- var target = this.result;
- if (this.firstRun && (results.length > 0 || isLast)) {
- this.current = null;
- this.result.innerHTML = '';
- }
-
- for (var i=0, l = results.length; i < l; i++) {
- var item = this.renderItem.call(this, results[i]);
- item.setAttribute('id', 'search-result-' + target.childElementCount);
- target.appendChild(item);
- };
-
- if (this.firstRun && results.length > 0) {
- this.firstRun = false;
- this.current = target.firstChild;
- this.current.classList.add('search-selected');
- }
- //TODO: ECMAScript
- //if (jQuery.browser.msie) this.$element[0].className += '';
-
- if (isLast) this.result.setAttribute('aria-busy', 'false');
- }
-
- this.move = function(isDown) {
- if (!this.current) return;
- var next = isDown ? this.current.nextElementSibling : this.current.previousElementSibling;
- if (next) {
- this.current.classList.remove('search-selected');
- next.classList.add('search-selected');
- this.input.setAttribute('aria-activedescendant', next.getAttribute('id'));
- this.scrollIntoView(next, this.view);
- this.current = next;
- this.input.value = next.firstChild.firstChild.text;
- this.input.select();
- }
- return true;
- }
-
- this.hlt = function(html) {
- return this.escapeHTML(html).
- replace(/\u0001/g, '<em>').
- replace(/\u0002/g, '</em>');
- }
-
- this.escapeHTML = function(html) {
- return html.replace(/[&<>"`']/g, function(c) {
- return '&#' + c.charCodeAt(0) + ';';
- });
- }
-
-});
-