diff --git a/build/js/SiteSearch.js b/build/js/SiteSearch.js index f9cc7653c..c3f00bc3d 100644 --- a/build/js/SiteSearch.js +++ b/build/js/SiteSearch.js @@ -23,7 +23,7 @@ const SELECTOR_SEARCH_INPUT = '.site-search-block .form-control' const CLASS_NAME_OPEN = 'site-search-open' const Default = { - transitionSpeed: 300 + resetOnClose: true } /** @@ -33,24 +33,23 @@ const Default = { class SiteSearch { constructor(_element, _options) { - this.element = _element - this.options = $.extend({}, Default, _options) + this._element = _element + this._config = $.extend({}, Default, _options) } // Public - init() { - // eslint-disable-next-line no-console - console.log(this.element) - } - open() { - $(SELECTOR_SEARCH_BLOCK).addClass(CLASS_NAME_OPEN) + $(SELECTOR_SEARCH_BLOCK).css('display', 'flex').hide().fadeIn().addClass(CLASS_NAME_OPEN) $(SELECTOR_SEARCH_INPUT).focus() } close() { - $(SELECTOR_SEARCH_BLOCK).removeClass(CLASS_NAME_OPEN) + $(SELECTOR_SEARCH_BLOCK).fadeOut().removeClass(CLASS_NAME_OPEN) + + if (this._config.resetOnClose) { + $(SELECTOR_SEARCH_INPUT).val('') + } } toggle() { @@ -72,7 +71,7 @@ class SiteSearch { $(this).data(DATA_KEY, data) } - if (!/toggle|close/.test(options)) { + if (!/toggle|close|open/.test(options)) { throw new Error(`Undefined method ${options}`) } @@ -96,14 +95,6 @@ $(document).on('click', SELECTOR_TOGGLE_BUTTON, event => { SiteSearch._jQueryInterface.call(button, 'toggle') }) -$(document).on('ready', () => { - const button = $(SELECTOR_TOGGLE_BUTTON) - if (button.length == 0) { - return - } - - SiteSearch._jQueryInterface.call(button, 'toggle') -}) /** * jQuery API