summaryrefslogtreecommitdiff
path: root/_includes/scripts/components/search.js
diff options
context:
space:
mode:
Diffstat (limited to '_includes/scripts/components/search.js')
-rw-r--r--_includes/scripts/components/search.js86
1 files changed, 0 insertions, 86 deletions
diff --git a/_includes/scripts/components/search.js b/_includes/scripts/components/search.js
deleted file mode 100644
index e1c8c27..0000000
--- a/_includes/scripts/components/search.js
+++ /dev/null
@@ -1,86 +0,0 @@
-
-(function () {
- var SOURCES = window.TEXT_VARIABLES.sources;
- window.Lazyload.js(SOURCES.jquery, function() {
- // search panel
- var search = (window.search || (window.search = {}));
- var useDefaultSearchBox = window.useDefaultSearchBox === undefined ?
- true : window.useDefaultSearchBox ;
-
- var $searchModal = $('.js-page-search-modal');
- var $searchToggle = $('.js-search-toggle');
- var searchModal = $searchModal.modal({ onChange: handleModalChange, hideWhenWindowScroll: true });
- var modalVisible = false;
- search.searchModal = searchModal;
-
- var $searchBox = null;
- var $searchInput = null;
- var $searchClear = null;
-
- function getModalVisible() {
- return modalVisible;
- }
- search.getModalVisible = getModalVisible;
-
- function handleModalChange(visible) {
- modalVisible = visible;
- if (visible) {
- search.onShow && search.onShow();
- useDefaultSearchBox && $searchInput[0] && $searchInput[0].focus();
- } else {
- search.onShow && search.onHide();
- useDefaultSearchBox && $searchInput[0] && $searchInput[0].blur();
- setTimeout(function() {
- useDefaultSearchBox && ($searchInput.val(''), $searchBox.removeClass('not-empty'));
- search.clear && search.clear();
- window.pageAsideAffix && window.pageAsideAffix.refresh();
- }, 400);
- }
- }
-
- $searchToggle.on('click', function() {
- modalVisible ? searchModal.hide() : searchModal.show();
- });
- // Char Code: 83 S, 191 /
- $(window).on('keyup', function(e) {
- if (!modalVisible && !window.isFormElement(e.target || e.srcElement) && (e.which === 83 || e.which === 191)) {
- modalVisible || searchModal.show();
- }
- });
-
- if (useDefaultSearchBox) {
- $searchBox = $('.js-search-box');
- $searchInput = $searchBox.children('input');
- $searchClear = $searchBox.children('.js-icon-clear');
- search.getSearchInput = function() {
- return $searchInput.get(0);
- };
- search.getVal = function() {
- return $searchInput.val();
- };
- search.setVal = function(val) {
- $searchInput.val(val);
- };
-
- $searchInput.on('focus', function() {
- $(this).addClass('focus');
- });
- $searchInput.on('blur', function() {
- $(this).removeClass('focus');
- });
- $searchInput.on('input', window.throttle(function() {
- var val = $(this).val();
- if (val === '' || typeof val !== 'string') {
- search.clear && search.clear();
- } else {
- $searchBox.addClass('not-empty');
- search.onInputNotEmpty && search.onInputNotEmpty(val);
- }
- }, 400));
- $searchClear.on('click', function() {
- $searchInput.val(''); $searchBox.removeClass('not-empty');
- search.clear && search.clear();
- });
- }
- });
-})();