Rename fileFinder.editor to fileFinder.miniEditor

This commit is contained in:
Corey Johnson
2012-05-08 15:09:19 -07:00
parent 4bd4b0d496
commit bc3b982514
2 changed files with 22 additions and 17 deletions

View File

@@ -23,7 +23,7 @@ describe 'FileFinder', ->
rootView.trigger 'file-finder:toggle'
expect(rootView.find('.file-finder')).toExist()
expect(rootView.find('.file-finder input:focus')).toExist()
finder.editor.insertText('this should not show up next time we toggle')
finder.miniEditor.insertText('this should not show up next time we toggle')
rootView.trigger 'file-finder:toggle'
expect(editor1.isFocused).toBeFalsy()
@@ -31,7 +31,7 @@ describe 'FileFinder', ->
expect(rootView.find('.file-finder')).not.toExist()
rootView.trigger 'file-finder:toggle'
expect(finder.editor.getText()).toBe ''
expect(finder.miniEditor.getText()).toBe ''
it "shows all relative file paths for the current project and selects the first", ->
rootView.trigger 'file-finder:toggle'
@@ -58,20 +58,24 @@ describe 'FileFinder', ->
finder.trigger 'file-finder:cancel'
expect(finder.hasParent()).toBeFalsy()
it "removes text from editor", ->
rootView.trigger 'file-finder:toggle'
expect(finder.miniEditor)
describe "when characters are typed into the input element", ->
it "displays matching paths in the ol element and selects the first", ->
rootView.trigger 'file-finder:toggle'
listLengthBefore = finder.pathList.children().length
finder.editor.insertText('samp')
finder.miniEditor.insertText('samp')
expect(finder.pathList.children().length).toBeLessThan(listLengthBefore)
expect(finder.pathList.find('li:first')).toHaveClass 'selected'
expect(finder.pathList.find('li.selected').length).toBe 1
# we should clear the list before re-populating it
finder.editor.insertText('txt')
finder.miniEditor.insertText('txt')
expect(finder.pathList.children().length).toBe 1
expect(finder.pathList.find('li:first')).toHaveClass 'selected'
@@ -85,13 +89,13 @@ describe 'FileFinder', ->
expect(finder.find('li:eq(0)')).toHaveClass "selected"
expect(finder.find('li:eq(2)')).not.toHaveClass "selected"
finder.editor.trigger keydownEvent('down')
finder.editor.trigger keydownEvent('down')
finder.miniEditor.trigger keydownEvent('down')
finder.miniEditor.trigger keydownEvent('down')
expect(finder.find('li:eq(0)')).not.toHaveClass "selected"
expect(finder.find('li:eq(2)')).toHaveClass "selected"
finder.editor.trigger keydownEvent('up')
finder.miniEditor.trigger keydownEvent('up')
expect(finder.find('li:eq(0)')).not.toHaveClass "selected"
expect(finder.find('li:eq(1)')).toHaveClass "selected"
@@ -99,11 +103,11 @@ describe 'FileFinder', ->
it "does not fall off the end or begining of the list", ->
expect(finder.find('li:first')).toHaveClass "selected"
finder.editor.trigger keydownEvent('up')
finder.miniEditor.trigger keydownEvent('up')
expect(finder.find('li:first')).toHaveClass "selected"
for i in [1..finder.pathList.children().length+2]
finder.editor.trigger keydownEvent('down')
finder.miniEditor.trigger keydownEvent('down')
expect(finder.find('li:last')).toHaveClass "selected"
@@ -134,7 +138,7 @@ describe 'FileFinder', ->
describe "when there is no path selected", ->
it "does nothing", ->
finder.editor.insertText('this should match nothing, because no one wants to drink battery acid')
finder.miniEditor.insertText('this should match nothing, because no one wants to drink battery acid')
finder.trigger 'file-finder:select-file'
expect(finder.hasParent()).toBeTruthy()

View File

@@ -7,12 +7,11 @@ module.exports =
class FileFinder extends View
@activate: (rootView) ->
@instance = new FileFinder(rootView)
rootView.on 'file-finder:toggle', => @instance.toggle()
@content: ->
@div class: 'file-finder', =>
@ol outlet: 'pathList'
@subview 'editor', new Editor(mini: true)
@subview 'miniEditor', new Editor(mini: true)
paths: null
maxResults: null
@@ -21,13 +20,15 @@ class FileFinder extends View
requireStylesheet 'file-finder.css'
@maxResults = 10
@rootView.on 'file-finder:toggle', => @toggle()
@on 'file-finder:cancel', => @detach()
@on 'move-up', => @moveUp()
@on 'move-down', => @moveDown()
@on 'file-finder:select-file', => @select()
@editor.buffer.on 'change', => @populatePathList() if @hasParent()
@editor.off 'move-up move-down'
@miniEditor.buffer.on 'change', => @populatePathList() if @hasParent()
@miniEditor.off 'move-up move-down'
toggle: ->
if @hasParent()
@@ -38,16 +39,16 @@ class FileFinder extends View
attach: ->
@rootView.project.getFilePaths().done (@paths) => @populatePathList()
@rootView.append(this)
@editor.focus()
@miniEditor.focus()
detach: ->
@rootView.focus()
super
@editor.setText('')
@miniEditor.setText('')
populatePathList: ->
@pathList.empty()
for path in @findMatches(@editor.buffer.getText())
for path in @findMatches(@miniEditor.buffer.getText())
@pathList.append $$ -> @li path
@pathList.children('li:first').addClass 'selected'