mirror of
https://github.com/atom/atom.git
synced 2026-04-06 03:02:13 -04:00
Fire will-be-removed event from beforeRemove()
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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}")
|
||||
|
||||
Reference in New Issue
Block a user