Don’t add __spacePenView property to jQuery objects in ViewRegistry

This property is added as needed in our legacy SpacePen views, and is
now used to trigger a deprecation warning. We don’t want to add it to
new SpacePen views because they shouldn’t trigger deprecation warnings.
Esse commit está contido em:
Nathan Sobo
2015-01-02 12:58:42 -07:00
commit e192922f0e
3 arquivos alterados com 6 adições e 6 exclusões
+3 -3
Ver Arquivo
@@ -14,14 +14,14 @@ describe "ViewRegistry", ->
expect(registry.getView(node)).toBe node
describe "when passed a SpacePen view", ->
it "returns the root node of the view with a __spacePenView property pointing at the SpacePen view", ->
it "returns the root node of the view with a .spacePenView property pointing at the SpacePen view", ->
class TestView extends View
@content: -> @div "Hello"
view = new TestView
node = registry.getView(view)
expect(node.textContent).toBe "Hello"
expect(node.__spacePenView).toBe view
expect(node.spacePenView).toBe view
describe "when passed a model object", ->
describe "when a view provider is registered matching the object's constructor", ->
@@ -62,7 +62,7 @@ describe "ViewRegistry", ->
node = registry.getView(model)
expect(node.textContent).toBe "hello"
view = node.__spacePenView
view = node.spacePenView
expect(view instanceof TestView).toBe true
expect(view.model).toBe model
+3 -1
Ver Arquivo
@@ -153,7 +153,9 @@ class PaneView extends View
activeItemModifiedChanged: =>
@trigger 'pane:active-item-modified-status-changed'
@::accessor 'activeView', -> atom.views.getView(@activeItem)?.__spacePenView
@::accessor 'activeView', ->
element = atom.views.getView(@activeItem)
$(element).view() ? element
splitLeft: (items...) -> atom.views.getView(@model.splitLeft({items})).__spacePenView
-2
Ver Arquivo
@@ -132,7 +132,6 @@ class ViewRegistry
if object instanceof HTMLElement
object
else if object?.jquery
object[0]?.__spacePenView ?= object
object[0]
else if provider = @findProvider(object)
element = provider.createView?(object)
@@ -142,7 +141,6 @@ class ViewRegistry
element
else if viewConstructor = object?.getViewClass?()
view = new viewConstructor(object)
view[0].__spacePenView ?= view
view[0]
else
throw new Error("Can't create a view for #{object.constructor.name} instance. Please register a view provider.")