ModalSelector takes a callback, not an Array

This commit is contained in:
Chris Wanstrath
2011-11-13 02:20:27 -08:00
parent 40deb0f62c
commit bae191962d
3 changed files with 7 additions and 5 deletions

View File

@@ -11,7 +11,7 @@ class Filefinder extends Extension
atom.on 'project:open', @startup
startup: (@project) =>
@pane = new ModalSelector _.reject @project.allURLs(), ({url}) ->
@pane = new ModalSelector => _.reject @project.allURLs(), ({url}) ->
fs.isDirectory url
toggle: ->

View File

@@ -24,7 +24,7 @@ class Gemfile extends Extension
]
gems = @gems url
@project.settings.extraURLs["http://rubygems.org/"] = gems
@pane = new ModalSelector gems
@pane = new ModalSelector -> gems
toggle: ->
@pane?.toggle()

View File

@@ -19,10 +19,11 @@ class ModalSelector extends Modal
showing: false
# The items to filter. An Array of {name:name, url:url} objects.
list: []
# A callback which should return the items to filter.
# Return should be an Array of {name, url} objects.
filterCallback: -> []
constructor: (@list) ->
constructor: (@filterCallback) ->
super @selectorHTML
head = $('head')[0]
@@ -47,6 +48,7 @@ class ModalSelector extends Modal
show: ->
super
@list = @filterCallback()
@filter()
$('#modal-selector input').live 'keydown.modal-selector', @onKeydown