Sha256: fe23af0c0d638e3e5348e781f27d1f2b2948a7dcbd568d41c8eb0bf592f73957

Contents?: true

Size: 1.39 KB

Versions: 6

Compression:

Stored size: 1.39 KB

Contents

# -----------------------------------------------------------------------------
# LIST SEARCH
# -----------------------------------------------------------------------------
@listSearch =

  # PRIVATE ===================================================================

  _bind_search: ->
    @$search       =$ "<div class='search'></div>"
    @$searchIcon   =$ "<a href='#' class='icon'>#{Icons.search}</a>"
    @$searchInput  =$ "<input type='text' placeholder='Search' />"
    @$searchCancel =$ "<a href='#' class='cancel'>Cancel</a>"

    @$header.append(@$search)
    @$search.append(@$searchIcon)
    @$search.append(@$searchInput)
    @$search.append(@$searchCancel)

    @$searchInput.on 'keyup', (e) =>
      if e.keyCode == 27 # esc
        return @_on_search_cancel()

      if e.keyCode == 13 # enter
        return @_on_search()

    @$searchIcon.on   'click', (e) => e.preventDefault() ; @_on_search_show()
    @$searchCancel.on 'click', (e) => e.preventDefault() ; @_on_search_cancel()

  # EVENTS ====================================================================

  _on_search: ->
    query = @$searchInput.val()
    @showSpinner()
    @config.arrayStore.search(query)

  _on_search_show: ->
    @$el.addClass('list-search')
    @$searchInput.focus()
    @$search.show()

  _on_search_cancel: ->
    @$el.removeClass('list-search')
    @$searchInput.val('')
    @showSpinner()
    @config.arrayStore.reset()

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
chr-0.5.8 app/assets/javascripts/chr/list_search.coffee
chr-0.5.7 app/assets/javascripts/chr/list_search.coffee
chr-0.5.6 app/assets/javascripts/chr/list_search.coffee
chr-0.5.5 app/assets/javascripts/chr/list_search.coffee
chr-0.5.4 app/assets/javascripts/chr/list_search.coffee
chr-0.5.3 app/assets/javascripts/chr/list_search.coffee