Use pane events to trigger pane-container:active-pane-item-changed

This commit is contained in:
Corey Johnson
2013-08-30 10:42:17 -07:00
parent 49e6e82d67
commit 0b73020a35
2 changed files with 15 additions and 6 deletions

View File

@@ -36,6 +36,21 @@ class PaneContainer extends View
else
@setRoot(null)
@on 'pane:attached', (event, pane) =>
@triggerActiveItemChange() if @getActivePane() is pane
@on 'pane:removed', (event, pane) =>
@triggerActiveItemChange() unless @getActivePane()?
@on 'pane:became-active', =>
@triggerActiveItemChange()
@on 'pane:active-item-changed', (event, item) =>
@triggerActiveItemChange() if @getActivePaneItem() is item
triggerActiveItemChange: ->
@trigger 'pane-container:active-pane-item-changed', [@getActivePaneItem()]
serialize: ->
state = @state.clone()
state.set('root', @getRoot()?.serialize())
@@ -92,9 +107,6 @@ class PaneContainer extends View
@destroyedItemStates = @destroyedItemStates.filter (itemState) ->
itemState.uri isnt itemUri
triggerActiveItemChange: (item) ->
@trigger 'pane-container:active-pane-item-changed', [item]
getRoot: ->
@children().first().view()
@@ -103,7 +115,6 @@ class PaneContainer extends View
if root?
@append(root)
@itemAdded(root.activeItem) if root.activeItem
@triggerActiveItemChange(root?.getActivePaneItem()) unless suppressPaneItemChangeEvents
@state.set(root: root?.getState())
removeChild: (child) ->

View File

@@ -175,7 +175,6 @@ class Pane extends View
view.focus() if isFocused
@activeItem = item
@activeView = view
@getContainer()?.triggerActiveItemChange(item) if @isActive()
@trigger 'pane:active-item-changed', [item]
@state.set('activeItemUri', item.getUri?())
@@ -426,7 +425,6 @@ class Pane extends View
when 'after' then parent.insertChildAfter(this, newPane)
@getContainer().adjustPaneDimensions()
newPane.focus()
@getContainer().triggerActiveItemChange(newPane.getActivePaneItem())
newPane
# Private: