When a new edit session is added, add a new tab for it

This commit is contained in:
Nathan Sobo
2012-11-20 15:44:11 -07:00
parent 4a373a9173
commit ebe8143228
2 changed files with 14 additions and 3 deletions

View File

@@ -46,3 +46,9 @@ describe "Tabs", ->
editor.setActiveEditSessionIndex(1)
expect(tabs.find('.active').length).toBe 1
expect(tabs.find('.tab:eq(1)')).toHaveClass 'active'
describe "when a new edit session is created", ->
it "adds a tab for the new edit session", ->
rootView.open('two-hundred.txt')
expect(tabs.find('.tab').length).toBe 3
expect(tabs.find('.tab:eq(2) .file-name').text()).toBe 'two-hundred.txt'

View File

@@ -20,13 +20,18 @@ class Tabs extends View
initialize: (@editor) ->
for editSession, index in @editor.editSessions
@append $$ ->
@div class: 'tab', =>
@div editSession.buffer.getBaseName(), class: 'file-name'
@addTabForEditSession(editSession)
@setActiveTab(@editor.getActiveEditSessionIndex())
@editor.on 'editor:active-edit-session-changed', (e, index) => @setActiveTab(index)
@editor.on 'editor:edit-session-added', (e, editSession) => @addTabForEditSession(editSession)
addTabForEditSession: (editSession) ->
@append $$ ->
@div class: 'tab', =>
@div editSession.buffer.getBaseName(), class: 'file-name'
setActiveTab: (index) ->
@find(".tab.active").removeClass('active')
@find(".tab:eq(#{index})").addClass('active')