mirror of
https://github.com/atom/atom.git
synced 2026-02-10 22:55:09 -05:00
Select list scrolls to selected item on move-up/move-down
This commit is contained in:
committed by
Nathan Sobo
parent
a3f25fbc9b
commit
b5cb125b7f
@@ -13,6 +13,7 @@ class SelectList extends View
|
||||
maxItems: Infinity
|
||||
|
||||
initialize: ->
|
||||
requireStylesheet 'select-list.css'
|
||||
@miniEditor.getBuffer().on 'change', => @populateList()
|
||||
@on 'move-up', => @selectPreviousItem()
|
||||
@on 'move-down', => @selectNextItem()
|
||||
@@ -42,6 +43,17 @@ class SelectList extends View
|
||||
if item.length
|
||||
@list.find('.selected').removeClass('selected')
|
||||
item.addClass 'selected'
|
||||
@scrollToItem(item)
|
||||
|
||||
scrollToItem: (item) ->
|
||||
scrollTop = @list.scrollTop()
|
||||
desiredTop = item.position().top + scrollTop
|
||||
desiredBottom = desiredTop + item.height()
|
||||
|
||||
if desiredTop < scrollTop
|
||||
@list.scrollTop(desiredTop)
|
||||
else if desiredBottom > @list.scrollBottom()
|
||||
@list.scrollBottom(desiredBottom)
|
||||
|
||||
getSelectedItem: ->
|
||||
@list.find('li.selected')
|
||||
|
||||
Reference in New Issue
Block a user