From eea38a696f79bb84c7ea3d5be943ec1da2bc9af4 Mon Sep 17 00:00:00 2001 From: Ben Ogle Date: Thu, 15 Aug 2013 17:28:14 -0700 Subject: [PATCH] add a pane:became-inactive event --- spec/app/pane-spec.coffee | 12 ++++++++++++ src/app/pane.coffee | 2 ++ 2 files changed, 14 insertions(+) diff --git a/spec/app/pane-spec.coffee b/spec/app/pane-spec.coffee index 137ceac07..59db99397 100644 --- a/spec/app/pane-spec.coffee +++ b/spec/app/pane-spec.coffee @@ -517,6 +517,18 @@ describe "Pane", -> expect(becameActiveHandler.callCount).toBe 1 + it "triggers 'pane:became-inactive' when it was previously active", -> + becameInactiveHandler = jasmine.createSpy("becameInactiveHandler") + container.on 'pane:became-inactive', becameInactiveHandler + + expect(pane.isActive()).toBeFalsy() + pane.focusin() + expect(pane.isActive()).toBeTruthy() + pane.splitRight() + expect(pane.isActive()).toBeFalsy() + + expect(becameInactiveHandler.callCount).toBe 1 + describe "split methods", -> [pane1, view3, view4] = [] beforeEach -> diff --git a/src/app/pane.coffee b/src/app/pane.coffee index fa9a2fcb5..ddb9312a8 100644 --- a/src/app/pane.coffee +++ b/src/app/pane.coffee @@ -100,7 +100,9 @@ class Pane extends View @trigger 'pane:became-active' unless wasActive makeInactive: -> + wasActive = @isActive() @removeClass('active') + @trigger 'pane:became-inactive' if wasActive isActive: -> @hasClass('active')