Sha256: bd9fc278d799891ec3578519333610df95a6cc271e8a766161f822dd1305cd19

Contents?: true

Size: 1.01 KB

Versions: 2

Compression:

Stored size: 1.01 KB

Contents

# -----------------------------------------------------------------------------
# LIST SEARCH
# -----------------------------------------------------------------------------

@listSearch =
  # PRIVATE ===============================================

  _bind_search: (listEl) ->
    $input     = listEl.$search
    arrayStore = listEl.config.arrayStore

    search = (input) ->
      query = $(input).val()
      listEl._show_spinner()
      arrayStore.search(query)

    show = ->
      listEl.$el.addClass 'list-search'
      $input.find('input').focus()

    cancel = ->
      listEl.$el.removeClass 'list-search'
      $input.find('input').val('')
      listEl._show_spinner()
      arrayStore.reset()

    $input.show()

    $input.on 'keyup', 'input', (e) =>
      if e.keyCode == 27 # esc
        return cancel()

      if e.keyCode == 13 # enter
        return search(e.target)

    $input.on 'click', '.icon',   (e) => e.preventDefault() ; show()
    $input.on 'click', '.cancel', (e) => e.preventDefault() ; cancel()




Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
chr-0.2.5 app/assets/javascripts/chr/core/list_search.coffee
chr-0.2.4 app/assets/javascripts/chr/core/list_search.coffee