Parcourir la source

update SiteSearch.js

REJack il y a 4 ans
Parent
commit
700e5a0784
1 fichiers modifiés avec 10 ajouts et 19 suppressions
  1. 10 19
      build/js/SiteSearch.js

+ 10 - 19
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