summaryrefslogtreecommitdiff
path: root/_includes/search-providers/default
diff options
context:
space:
mode:
Diffstat (limited to '_includes/search-providers/default')
-rw-r--r--_includes/search-providers/default/search-data.js14
-rw-r--r--_includes/search-providers/default/search.html18
-rw-r--r--_includes/search-providers/default/search.js112
3 files changed, 0 insertions, 144 deletions
diff --git a/_includes/search-providers/default/search-data.js b/_includes/search-providers/default/search-data.js
deleted file mode 100644
index f20e0c5..0000000
--- a/_includes/search-providers/default/search-data.js
+++ /dev/null
@@ -1,14 +0,0 @@
-window.TEXT_SEARCH_DATA={
- {%- for _collection in site.collections -%}
- {%- unless forloop.first -%},{%- endunless -%}
- '{{ _collection.label }}':[
- {%- for _article in _collection.docs -%}
- {%- unless forloop.first -%},{%- endunless -%}
- {'title':{{ _article.title | jsonify }},
- {%- include snippets/prepend-baseurl.html path=_article.url -%}
- {%- assign _url = __return -%}
- 'url':{{ _url | jsonify }}}
- {%- endfor -%}
- ]
- {%- endfor -%}
-};
diff --git a/_includes/search-providers/default/search.html b/_includes/search-providers/default/search.html
deleted file mode 100644
index a21512c..0000000
--- a/_includes/search-providers/default/search.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<div class="search search--dark">
- <div class="main">
- <div class="search__header">{{ _locale_search }}</div>
- <div class="search-bar">
- <div class="search-box js-search-box">
- <div class="search-box__icon-search"><i class="fas fa-search"></i></div>
- <input type="text" />
- <div class="search-box__icon-clear js-icon-clear">
- <a><i class="fas fa-times"></i></a>
- </div>
- </div>
- <button class="button button--theme-dark button--pill search__cancel js-search-toggle">
- {{ _locale_cancel }}</button>
- </div>
- <div class="search-result js-search-result"></div>
- </div>
-</div>
-<script>{%- include search-providers/default/search.js -%}</script>
diff --git a/_includes/search-providers/default/search.js b/_includes/search-providers/default/search.js
deleted file mode 100644
index bf69c28..0000000
--- a/_includes/search-providers/default/search.js
+++ /dev/null
@@ -1,112 +0,0 @@
-var SOURCES = window.TEXT_VARIABLES.sources;
-var PAHTS = window.TEXT_VARIABLES.paths;
-window.Lazyload.js([SOURCES.jquery, PAHTS.search_js], function() {
- var search = (window.search || (window.search = {}));
- var searchData = window.TEXT_SEARCH_DATA || {};
-
- function memorize(f) {
- var cache = {};
- return function () {
- var key = Array.prototype.join.call(arguments, ',');
- if (key in cache) return cache[key];
- else return cache[key] = f.apply(this, arguments);
- };
- }
-
- /// search
- function searchByQuery(query) {
- var i, j, key, keys, cur, _title, result = {};
- keys = Object.keys(searchData);
- for (i = 0; i < keys.length; i++) {
- key = keys[i];
- for (j = 0; j < searchData[key].length; j++) {
- cur = searchData[key][j], _title = cur.title;
- if ((result[key] === undefined || result[key] && result[key].length < 4 )
- && _title.toLowerCase().indexOf(query.toLowerCase()) >= 0) {
- if (result[key] === undefined) {
- result[key] = [];
- }
- result[key].push(cur);
- }
- }
- }
- return result;
- }
-
- var renderHeader = memorize(function(header) {
- return $('<p class="search-result__header">' + header + '</p>');
- });
-
- var renderItem = function(index, title, url) {
- return $('<li class="search-result__item" data-index="' + index + '"><a class="button" href="' + url + '">' + title + '</a></li>');
- };
-
- function render(data) {
- if (!data) { return null; }
- var $root = $('<ul></ul>'), i, j, key, keys, cur, itemIndex = 0;
- keys = Object.keys(data);
- for (i = 0; i < keys.length; i++) {
- key = keys[i];
- $root.append(renderHeader(key));
- for (j = 0; j < data[key].length; j++) {
- cur = data[key][j];
- $root.append(renderItem(itemIndex++, cur.title, cur.url));
- }
- }
- return $root;
- }
-
- // search box
- var $result = $('.js-search-result'), $resultItems;
- var lastActiveIndex, activeIndex;
-
- function clear() {
- $result.html(null);
- $resultItems = $('.search-result__item'); activeIndex = 0;
- }
- function onInputNotEmpty(val) {
- $result.html(render(searchByQuery(val)));
- $resultItems = $('.search-result__item'); activeIndex = 0;
- $resultItems.eq(0).addClass('active');
- }
-
- search.clear = clear;
- search.onInputNotEmpty = onInputNotEmpty;
-
- function updateResultItems() {
- lastActiveIndex >= 0 && $resultItems.eq(lastActiveIndex).removeClass('active');
- activeIndex >= 0 && $resultItems.eq(activeIndex).addClass('active');
- }
-
- function moveActiveIndex(direction) {
- var itemsCount = $resultItems ? $resultItems.length : 0;
- if (itemsCount > 1) {
- lastActiveIndex = activeIndex;
- if (direction === 'up') {
- activeIndex = (activeIndex - 1 + itemsCount) % itemsCount;
- } else if (direction === 'down') {
- activeIndex = (activeIndex + 1 + itemsCount) % itemsCount;
- }
- updateResultItems();
- }
- }
-
- // Char Code: 13 Enter, 37 ⬅, 38 ⬆, 39 ➡, 40 ⬇
- $(window).on('keyup', function(e) {
- var modalVisible = search.getModalVisible && search.getModalVisible();
- if (modalVisible) {
- if (e.which === 38) {
- modalVisible && moveActiveIndex('up');
- } else if (e.which === 40) {
- modalVisible && moveActiveIndex('down');
- } else if (e.which === 13) {
- modalVisible && $resultItems && activeIndex >= 0 && $resultItems.eq(activeIndex).children('a')[0].click();
- }
- }
- });
-
- $result.on('mouseover', '.search-result__item > a', function() {
- var itemIndex = $(this).parent().data('index');
- itemIndex >= 0 && (lastActiveIndex = activeIndex, activeIndex = itemIndex, updateResultItems());
- });
-});