Merge pull request #6383 from atom/mq-has-file-path

Indicate whether buffer has a file path
This commit is contained in:
Kevin Sawicki
2015-04-15 10:21:57 -07:00
2 changed files with 29 additions and 0 deletions

View File

@@ -118,6 +118,27 @@ describe "PaneView", ->
paneModel.activateItem(view2)
expect(pane.itemViews.find('#view-2').length).toBe 1
describe "when the new activeItem implements ::getPath", ->
beforeEach ->
paneModel.activateItem(editor1)
it "adds its file path to the active pane", ->
expect(pane).toHaveAttr('data-active-item-path')
it "adds its file name to the active pane", ->
expect(pane).toHaveAttr('data-active-item-name')
describe "when the new activeItem does not implement ::getPath", ->
beforeEach ->
paneModel.activateItem(editor1)
paneModel.activateItem(document.createElement('div'))
it "removes its file path from the active pane", ->
expect(pane).not.toHaveAttr('data-active-item-path')
it "removes its file name from the active pane", ->
expect(pane).not.toHaveAttr('data-active-item-name')
describe "when an item is destroyed", ->
it "triggers the 'pane:item-removed' event with the item and its former index", ->
itemRemovedHandler = jasmine.createSpy("itemRemovedHandler")

View File

@@ -71,6 +71,14 @@ class PaneElement extends HTMLElement
hasFocus = @hasFocus()
itemView = atom.views.getView(item)
if itemPath = item.getPath?()
path = require 'path'
@dataset.activeItemName = path.basename(itemPath)
@dataset.activeItemPath = itemPath
else
delete @dataset.activeItemName
delete @dataset.activeItemPath
unless @itemViews.contains(itemView)
@itemViews.appendChild(itemView)
callAttachHooks(itemView)