mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-09-21 07:58:04 +03:00
Pane emits 'pane:item-removed' events
This commit is contained in:
parent
dd120663b7
commit
5240d9989f
@ -99,6 +99,13 @@ describe "Pane", ->
|
|||||||
expect(pane.getItems()).toEqual [editSession1, view2]
|
expect(pane.getItems()).toEqual [editSession1, view2]
|
||||||
expect(pane.activeItem).toBe editSession1
|
expect(pane.activeItem).toBe editSession1
|
||||||
|
|
||||||
|
it "triggers 'pane:item-removed' with the item and its former index", ->
|
||||||
|
itemRemovedHandler = jasmine.createSpy("itemRemovedHandler")
|
||||||
|
pane.on 'pane:item-removed', itemRemovedHandler
|
||||||
|
pane.removeItem(editSession1)
|
||||||
|
expect(itemRemovedHandler).toHaveBeenCalled()
|
||||||
|
expect(itemRemovedHandler.argsForCall[0][1..2]).toEqual [editSession1, 1]
|
||||||
|
|
||||||
it "removes the pane when its last item is removed", ->
|
it "removes the pane when its last item is removed", ->
|
||||||
pane.removeItem(item) for item in pane.getItems()
|
pane.removeItem(item) for item in pane.getItems()
|
||||||
expect(pane.hasParent()).toBeFalsy()
|
expect(pane.hasParent()).toBeFalsy()
|
||||||
|
@ -94,10 +94,14 @@ class Pane extends View
|
|||||||
false
|
false
|
||||||
|
|
||||||
removeItem: (item) ->
|
removeItem: (item) ->
|
||||||
|
index = @items.indexOf(item)
|
||||||
|
return if index == -1
|
||||||
|
|
||||||
@showNextItem() if item is @activeItem and @items.length > 1
|
@showNextItem() if item is @activeItem and @items.length > 1
|
||||||
_.remove(@items, item)
|
_.remove(@items, item)
|
||||||
item.destroy?()
|
item.destroy?()
|
||||||
@cleanupItemView(item)
|
@cleanupItemView(item)
|
||||||
|
@trigger 'pane:item-removed', [item, index]
|
||||||
@remove() unless @items.length
|
@remove() unless @items.length
|
||||||
|
|
||||||
itemForPath: (path) ->
|
itemForPath: (path) ->
|
||||||
|
Loading…
Reference in New Issue
Block a user