From d2146f9b2ec4b295006c963592b2bb40c4bae4cc Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Fri, 10 Jan 2014 11:45:08 -0700 Subject: [PATCH] Emit 'pane:removed' event in container when last pane is removed Doing it in the pane view is awkward because the view may have already been detached. --- src/pane-container.coffee | 4 +++- src/pane.coffee | 3 --- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/pane-container.coffee b/src/pane-container.coffee index c2d67f244..eb9297e04 100644 --- a/src/pane-container.coffee +++ b/src/pane-container.coffee @@ -48,7 +48,9 @@ class PaneContainer extends View @model.root = root?.model onRootChanged: (root) => - @children().detach() + oldRoot = @getRoot() + @trigger 'pane:removed', [oldRoot] if @getRoot() instanceof Pane + oldRoot?.detach() if root? view = @viewForModel(root) @append(view) diff --git a/src/pane.coffee b/src/pane.coffee index 3d968e742..cc8173554 100644 --- a/src/pane.coffee +++ b/src/pane.coffee @@ -206,9 +206,6 @@ class Pane extends View getContainer: -> @closest('.panes').view() - beforeRemove: -> - @trigger 'pane:removed', [this] - # Private: remove: (selector, keepData) -> return super if keepData