From ebe8143228a3c8a02b21b4ab9f25b9adfca1bd83 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Tue, 20 Nov 2012 15:44:11 -0700 Subject: [PATCH] When a new edit session is added, add a new tab for it --- src/extensions/tabs/spec/tabs-spec.coffee | 6 ++++++ src/extensions/tabs/src/tabs.coffee | 11 ++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/extensions/tabs/spec/tabs-spec.coffee b/src/extensions/tabs/spec/tabs-spec.coffee index 0af3d8e1a..76ff85e27 100644 --- a/src/extensions/tabs/spec/tabs-spec.coffee +++ b/src/extensions/tabs/spec/tabs-spec.coffee @@ -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' diff --git a/src/extensions/tabs/src/tabs.coffee b/src/extensions/tabs/src/tabs.coffee index a242c1e68..1a577a6a0 100644 --- a/src/extensions/tabs/src/tabs.coffee +++ b/src/extensions/tabs/src/tabs.coffee @@ -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')