mirror of
https://github.com/atom/atom.git
synced 2026-02-14 08:35:11 -05:00
Add PaneContainer.eachPane
It calls the given callback with all current and future panes
This commit is contained in:
committed by
probablycorey
parent
3382a542b3
commit
892ff0c51f
@@ -39,6 +39,12 @@ class PaneContainer extends View
|
||||
getPanes: ->
|
||||
@find('.pane').toArray().map (node)-> $(node).view()
|
||||
|
||||
eachPane: (callback) ->
|
||||
callback(pane) for pane in @getPanes()
|
||||
paneAttached = (e) -> callback($(e.target).view())
|
||||
@on 'pane:attached', paneAttached
|
||||
cancel: => @off 'pane:attached', paneAttached
|
||||
|
||||
getFocusedPane: ->
|
||||
@find('.pane:has(:focus)').view()
|
||||
|
||||
|
||||
@@ -30,6 +30,11 @@ class Pane extends View
|
||||
@on 'focus', => @currentView.focus(); false
|
||||
@on 'focusin', => @makeActive()
|
||||
|
||||
afterAttach: ->
|
||||
return if @attached
|
||||
@attached = true
|
||||
@trigger 'pane:attached'
|
||||
|
||||
makeActive: ->
|
||||
for pane in @getContainer().getPanes() when pane isnt this
|
||||
pane.makeInactive()
|
||||
|
||||
@@ -166,6 +166,9 @@ class RootView extends View
|
||||
saveAll: ->
|
||||
editor.save() for editor in @getEditors()
|
||||
|
||||
eachPane: (callback) ->
|
||||
@panes.eachPane(callback)
|
||||
|
||||
eachEditor: (callback) ->
|
||||
callback(editor) for editor in @getEditors()
|
||||
@on 'editor:attached', (e, editor) -> callback(editor)
|
||||
|
||||
Reference in New Issue
Block a user