mirror of
https://github.com/atom/atom.git
synced 2026-04-28 03:01:47 -04:00
Don't use atom.views global in PanelElement
This commit is contained in:
committed by
Nathan Sobo
parent
d8b08d3240
commit
e9cda3ea5c
@@ -119,7 +119,7 @@ class Atom extends Model
|
||||
@registerDeserializers()
|
||||
|
||||
ViewRegistry = require './view-registry'
|
||||
@views = new ViewRegistry
|
||||
@views = new ViewRegistry(this)
|
||||
@registerViewProviders()
|
||||
|
||||
NotificationManager = require './notification-manager'
|
||||
@@ -199,8 +199,8 @@ class Atom extends Model
|
||||
new WorkspaceElement().initialize(model)
|
||||
@views.addViewProvider PanelContainer, (model) ->
|
||||
new PanelContainerElement().initialize(model)
|
||||
@views.addViewProvider Panel, (model) ->
|
||||
new PanelElement().initialize(model)
|
||||
@views.addViewProvider Panel, (model, env) ->
|
||||
new PanelElement().initialize(model, env)
|
||||
@views.addViewProvider PaneContainer, (model) ->
|
||||
new PaneContainerElement().initialize(model)
|
||||
@views.addViewProvider PaneAxis, (model) ->
|
||||
|
||||
@@ -5,7 +5,9 @@ class PanelElement extends HTMLElement
|
||||
createdCallback: ->
|
||||
@subscriptions = new CompositeDisposable
|
||||
|
||||
initialize: (@model) ->
|
||||
initialize: (@model, {@views}) ->
|
||||
throw new Error("Must pass a views parameter when initializing PanelElements") unless @views?
|
||||
|
||||
@appendChild(@getItemView())
|
||||
|
||||
@classList.add(@model.getClassName().split(' ')...) if @model.getClassName()?
|
||||
@@ -17,7 +19,7 @@ class PanelElement extends HTMLElement
|
||||
@model ?= new Panel
|
||||
|
||||
getItemView: ->
|
||||
atom.views.getView(@getModel().getItem())
|
||||
@views.getView(@getModel().getItem())
|
||||
|
||||
attachedCallback: ->
|
||||
@visibleChanged(@getModel().isVisible())
|
||||
|
||||
@@ -49,7 +49,7 @@ class ViewRegistry
|
||||
debouncedPerformDocumentPoll: null
|
||||
minimumPollInterval: 200
|
||||
|
||||
constructor: ->
|
||||
constructor: (@atomEnvironment) ->
|
||||
@views = new WeakMap
|
||||
@providers = []
|
||||
@documentWriters = []
|
||||
@@ -159,7 +159,7 @@ class ViewRegistry
|
||||
else if object?.jquery
|
||||
object[0]
|
||||
else if provider = @findProvider(object)
|
||||
element = provider.createView?(object)
|
||||
element = provider.createView?(object, @atomEnvironment)
|
||||
unless element?
|
||||
element = new provider.viewConstructor
|
||||
element.initialize?(object) ? element.setModel?(object)
|
||||
|
||||
Reference in New Issue
Block a user