Fire will-be-removed event from beforeRemove()

This commit is contained in:
Kevin Sawicki
2013-04-10 17:32:46 -07:00
parent 6c4294dda9
commit 1ae878c000
2 changed files with 13 additions and 1 deletions

View File

@@ -2563,3 +2563,15 @@ describe "Editor", ->
editor.trigger('editor:scroll-to-cursor')
expect(editor.getFirstVisibleScreenRow()).toBe 0
expect(editor.getLastVisibleScreenRow()).toBe 2
describe "when the editor is removed", ->
it "fires a editor:will-be-removed event", ->
window.rootView = new RootView
rootView.open('sample.js')
rootView.attachToDom()
editor = rootView.getActiveView()
willBeRemovedHandler = jasmine.createSpy('fileChange')
editor.on 'editor:will-be-removed', willBeRemovedHandler
editor.getPane().destroyActiveItem()
expect(willBeRemovedHandler).toHaveBeenCalled()

View File

@@ -676,11 +676,11 @@ class Editor extends View
remove: (selector, keepData) ->
return super if keepData or @removed
@trigger 'editor:will-be-removed'
super
rootView?.focus()
beforeRemove: ->
@trigger 'editor:will-be-removed'
@removed = true
@activeEditSession?.destroy()
$(window).off(".editor-#{@id}")