mirror of
https://github.com/atom/atom.git
synced 2026-01-23 13:58:08 -05:00
Use PaneContainerModel::$activePaneItem for 'active-item-changed' events
Yay behaviors
This commit is contained in:
@@ -50,7 +50,7 @@
|
||||
"temp": "0.5.0",
|
||||
"text-buffer": "0.12.0",
|
||||
"underscore-plus": "0.6.1",
|
||||
"theorist": "~0.10.0",
|
||||
"theorist": "~0.11.0",
|
||||
"delegato": "~0.4.0",
|
||||
"mixto": "~0.4.0"
|
||||
},
|
||||
|
||||
@@ -14,6 +14,9 @@ class PaneContainerModel extends Model
|
||||
focusContext: null
|
||||
activePane: null
|
||||
|
||||
@behavior 'activePaneItem', ->
|
||||
@$activePane.flatMapLatest (activePane) -> activePane?.$activeItem
|
||||
|
||||
constructor: ->
|
||||
super
|
||||
|
||||
|
||||
@@ -26,27 +26,13 @@ class PaneContainer extends View
|
||||
@model = new PaneContainerModel({root: params?.root?.model})
|
||||
|
||||
@subscribe @model.$root, 'value', @onRootChanged
|
||||
@subscribe @model.$activePaneItem.changes, 'value', @onActivePaneItemChanged
|
||||
@subscribe @model, 'surrendered-focus', @onSurrenderedFocus
|
||||
|
||||
@subscribe this, 'pane:attached', (event, pane) =>
|
||||
@triggerActiveItemChange() if @getActivePane() is pane
|
||||
|
||||
@subscribe this, 'pane:removed', (event, pane) =>
|
||||
@triggerActiveItemChange() unless @getActivePane()?
|
||||
|
||||
@subscribe this, 'pane:became-active', =>
|
||||
@triggerActiveItemChange()
|
||||
|
||||
@subscribe this, 'pane:active-item-changed', (event, item) =>
|
||||
@triggerActiveItemChange() if @getActivePaneItem() is item
|
||||
|
||||
viewForModel: (model) ->
|
||||
viewClass = model.getViewClass()
|
||||
model._view ?= new viewClass(model)
|
||||
|
||||
triggerActiveItemChange: ->
|
||||
@trigger 'pane-container:active-pane-item-changed', [@getActivePaneItem()]
|
||||
|
||||
serializeParams: ->
|
||||
model: @model.serialize()
|
||||
|
||||
@@ -68,6 +54,9 @@ class PaneContainer extends View
|
||||
@append(view)
|
||||
view.makeActive?()
|
||||
|
||||
onActivePaneItemChanged: (activeItem) =>
|
||||
@trigger 'pane-container:active-pane-item-changed', [activeItem]
|
||||
|
||||
onSurrenderedFocus: =>
|
||||
atom?.workspaceView?.focus()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user