From 0b73020a351cf16625cc319ca30c44dfb5678a46 Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Fri, 30 Aug 2013 10:42:17 -0700 Subject: [PATCH] Use pane events to trigger pane-container:active-pane-item-changed --- src/pane-container.coffee | 19 +++++++++++++++---- src/pane.coffee | 2 -- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/pane-container.coffee b/src/pane-container.coffee index 54129aeea..9f462c511 100644 --- a/src/pane-container.coffee +++ b/src/pane-container.coffee @@ -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) -> diff --git a/src/pane.coffee b/src/pane.coffee index 9517aa0d0..8668a3783 100644 --- a/src/pane.coffee +++ b/src/pane.coffee @@ -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: