Scroll to selected match when moving up/down in autocomplete menu

This commit is contained in:
Corey Johnson & Nathan Sobo
2012-04-20 14:55:54 -06:00
parent 1a398ffcb9
commit 41a5f217a5
3 changed files with 48 additions and 3 deletions

View File

@@ -114,7 +114,17 @@ class Autocomplete extends View
selectMatchAtIndex: (index) ->
@currentMatchIndex = index
@matchesList.find("li").removeClass "selected"
@matchesList.find("li:eq(#{index})").addClass "selected"
liToSelect = @matchesList.find("li:eq(#{index})")
liToSelect.addClass "selected"
topOfLiToSelect = liToSelect.position().top + @matchesList.scrollTop()
bottomOfLiToSelect = topOfLiToSelect + liToSelect.outerHeight()
if topOfLiToSelect < @matchesList.scrollTop()
@matchesList.scrollTop(topOfLiToSelect)
else if bottomOfLiToSelect > @matchesList.scrollBottom()
@matchesList.scrollBottom(bottomOfLiToSelect)
@replaceSelectedTextWithMatch @selectedMatch()
selectedMatch: ->