SelectList allows list items to be clicked

This commit is contained in:
Nathan Sobo
2012-10-03 20:44:12 -10:00
parent 74c5be4632
commit 2991048c1e
3 changed files with 22 additions and 19 deletions

View File

@@ -18,6 +18,7 @@ class SelectList extends View
initialize: ->
requireStylesheet 'select-list.css'
@miniEditor.getBuffer().on 'change', => @populateList()
@miniEditor.on 'focusout', => @cancel() unless @cancelling
@on 'move-up', => @selectPreviousItem()
@@ -25,6 +26,14 @@ class SelectList extends View
@on 'core:confirm', => @confirmSelection()
@on 'core:cancel', => @cancel()
@list.on 'mousedown', 'li', (e) =>
@selectItem($(e.target).closest('li'))
e.preventDefault()
@list.on 'mouseup', 'li', (e) =>
@confirmSelection() if $(e.target).closest('li').hasClass('selected')
e.preventDefault()
setArray: (@array) ->
@populateList()
@selectItem(@list.find('li:first'))
@@ -54,6 +63,7 @@ class SelectList extends View
@selectItem(item)
selectItem: (item) ->
return unless item.length
@list.find('.selected').removeClass('selected')
item.addClass 'selected'
@scrollToItem(item)
@@ -77,7 +87,7 @@ class SelectList extends View
cancel: ->
@cancelling = true
@cancelled()
@detach()
@cancelled()
@cancelling = false