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:
@@ -14,14 +14,14 @@ describe "ViewRegistry", ->
|
|||||||
expect(registry.getView(node)).toBe node
|
expect(registry.getView(node)).toBe node
|
||||||
|
|
||||||
describe "when passed a SpacePen view", ->
|
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
|
class TestView extends View
|
||||||
@content: -> @div "Hello"
|
@content: -> @div "Hello"
|
||||||
|
|
||||||
view = new TestView
|
view = new TestView
|
||||||
node = registry.getView(view)
|
node = registry.getView(view)
|
||||||
expect(node.textContent).toBe "Hello"
|
expect(node.textContent).toBe "Hello"
|
||||||
expect(node.__spacePenView).toBe view
|
expect(node.spacePenView).toBe view
|
||||||
|
|
||||||
describe "when passed a model object", ->
|
describe "when passed a model object", ->
|
||||||
describe "when a view provider is registered matching the object's constructor", ->
|
describe "when a view provider is registered matching the object's constructor", ->
|
||||||
@@ -62,7 +62,7 @@ describe "ViewRegistry", ->
|
|||||||
node = registry.getView(model)
|
node = registry.getView(model)
|
||||||
|
|
||||||
expect(node.textContent).toBe "hello"
|
expect(node.textContent).toBe "hello"
|
||||||
view = node.__spacePenView
|
view = node.spacePenView
|
||||||
expect(view instanceof TestView).toBe true
|
expect(view instanceof TestView).toBe true
|
||||||
expect(view.model).toBe model
|
expect(view.model).toBe model
|
||||||
|
|
||||||
|
|||||||
@@ -153,7 +153,9 @@ class PaneView extends View
|
|||||||
activeItemModifiedChanged: =>
|
activeItemModifiedChanged: =>
|
||||||
@trigger 'pane:active-item-modified-status-changed'
|
@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
|
splitLeft: (items...) -> atom.views.getView(@model.splitLeft({items})).__spacePenView
|
||||||
|
|
||||||
|
|||||||
@@ -132,7 +132,6 @@ class ViewRegistry
|
|||||||
if object instanceof HTMLElement
|
if object instanceof HTMLElement
|
||||||
object
|
object
|
||||||
else if object?.jquery
|
else if object?.jquery
|
||||||
object[0]?.__spacePenView ?= object
|
|
||||||
object[0]
|
object[0]
|
||||||
else if provider = @findProvider(object)
|
else if provider = @findProvider(object)
|
||||||
element = provider.createView?(object)
|
element = provider.createView?(object)
|
||||||
@@ -142,7 +141,6 @@ class ViewRegistry
|
|||||||
element
|
element
|
||||||
else if viewConstructor = object?.getViewClass?()
|
else if viewConstructor = object?.getViewClass?()
|
||||||
view = new viewConstructor(object)
|
view = new viewConstructor(object)
|
||||||
view[0].__spacePenView ?= view
|
|
||||||
view[0]
|
view[0]
|
||||||
else
|
else
|
||||||
throw new Error("Can't create a view for #{object.constructor.name} instance. Please register a view provider.")
|
throw new Error("Can't create a view for #{object.constructor.name} instance. Please register a view provider.")
|
||||||
|
|||||||
Referência em uma Nova Issue
Bloquear um usuário