Add StylesElement::onDidAdd/RemoveStyleElement

This commit is contained in:
Nathan Sobo
2014-10-14 12:47:38 -06:00
parent 65e077abd1
commit be51ccf786
2 changed files with 22 additions and 3 deletions

View File

@@ -1,6 +1,15 @@
{CompositeDisposable} = require 'event-kit'
{Emitter, CompositeDisposable} = require 'event-kit'
class StylesElement extends HTMLElement
createdCallback: ->
@emitter = new Emitter
onDidAddStyleElement: (callback) ->
@emitter.on 'did-add-style-element', callback
onDidRemoveStyleElement: (callback) ->
@emitter.on 'did-remove-style-element', callback
attachedCallback: ->
@subscriptions = new CompositeDisposable
@styleElementClonesByOriginalElement = new WeakMap
@@ -19,9 +28,12 @@ class StylesElement extends HTMLElement
break
@insertBefore(styleElementClone, insertBefore)
@emitter.emit 'did-add-style-element', styleElementClone
styleElementRemoved: (styleElement) ->
@styleElementClonesByOriginalElement.get(styleElement).remove()
styleElementClone = @styleElementClonesByOriginalElement.get(styleElement)
styleElementClone.remove()
@emitter.emit 'did-remove-style-element', styleElementClone
detachedCallback: ->
@subscriptions.dispose()