Sha256: b704c5d6891fea6e9aebc4514925dcce65bb346b8946119e9cda4236bb7fa356

Contents?: true

Size: 1.28 KB

Versions: 28

Compression:

Stored size: 1.28 KB

Contents

class Tenon.features.QuickSearch
  constructor: ->
    @$content = $('.toolbox #quick-search-container')
    @$toggle = $('#quick-search-toggle')
    @openClass = 'open'

    # listeners
    $(document).on('keyup', '#quick-search', $.debounce(500, @_submitSearch))

    @$toggle.on('click', @toggleNav)
    # $(document).on('click', '.nav-holder.mobile-open a', @_closeNav)

  _submitSearch: (e) =>
    # Need to set this here so that if #quick-search is drawn after initial
    # DOM-ready we still have access to it
    @$field = $('#quick-search')

    @$list = $(@$field.data('record-list'))
    params = {q: @$field.val()}
    new Tenon.features.RecordList(@$list, params: params, clear: true)

  toggleNav: (e) =>
    e.preventDefault()
    @$toggle.find('i').toggleClass('fa-search fa-times')
    if @$toggle.hasClass(@openClass)
      @_closeNav()
    else
      @_openNav()

  _closeNav: () =>
    if @$field
      @$field.val('').keyup() # clear quick search and submit it when closing the toolbox
    @$toggle.removeClass(@openClass)
    $('header').css('border-bottom-width', '1px')
    @$content.removeClass(@openClass)

  _openNav: () =>
    @$toggle.addClass(@openClass)
    $('header').css('border-bottom-width', '0px')
    @$content.addClass(@openClass)
    @$content.find('input')[0].focus()

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
tenon-1.1.8 app/assets/javascripts/tenon/features/quick_search.js.coffee
tenon-1.1.7 app/assets/javascripts/tenon/features/quick_search.js.coffee
tenon-1.1.6 app/assets/javascripts/tenon/features/quick_search.js.coffee
tenon-1.1.5 app/assets/javascripts/tenon/features/quick_search.js.coffee
tenon-1.1.4 app/assets/javascripts/tenon/features/quick_search.js.coffee
tenon-1.1.3 app/assets/javascripts/tenon/features/quick_search.js.coffee
tenon-1.1.2 app/assets/javascripts/tenon/features/quick_search.js.coffee
tenon-1.1.1 app/assets/javascripts/tenon/features/quick_search.js.coffee
tenon-1.0.76 app/assets/javascripts/tenon/features/quick_search.js.coffee
tenon-1.0.75 app/assets/javascripts/tenon/features/quick_search.js.coffee
tenon-1.0.74 app/assets/javascripts/tenon/features/quick_search.js.coffee
tenon-1.0.73 app/assets/javascripts/tenon/features/quick_search.js.coffee
tenon-1.0.72 app/assets/javascripts/tenon/features/quick_search.js.coffee
tenon-1.0.71 app/assets/javascripts/tenon/features/quick_search.js.coffee
tenon-1.0.70 app/assets/javascripts/tenon/features/quick_search.js.coffee
tenon-1.0.69 app/assets/javascripts/tenon/features/quick_search.js.coffee
tenon-1.0.68 app/assets/javascripts/tenon/features/quick_search.js.coffee
tenon-1.0.67 app/assets/javascripts/tenon/features/quick_search.js.coffee
tenon-1.0.66 app/assets/javascripts/tenon/features/quick_search.js.coffee
tenon-1.0.65 app/assets/javascripts/tenon/features/quick_search.js.coffee