Make factory for StylesElements on atom.styles

This commit is contained in:
Max Brunsfeld
2015-10-09 13:44:03 -07:00
parent 1a8beef74f
commit 778023c78b
6 changed files with 17 additions and 18 deletions

View File

@@ -32,19 +32,19 @@ class StylesElement extends HTMLElement
attributeChangedCallback: (attrName, oldVal, newVal) ->
@contextChanged() if attrName is 'context'
initialize: ({@styles}) ->
throw new Error("Must pass a styles parameter when initializing TextEditorElements") unless @styles?
initialize: (@styleManager) ->
throw new Error("Must pass a styleManager parameter when initializing a StylesElement") unless @styleManager?
@subscriptions.add @styles.observeStyleElements(@styleElementAdded.bind(this))
@subscriptions.add @styles.onDidRemoveStyleElement(@styleElementRemoved.bind(this))
@subscriptions.add @styles.onDidUpdateStyleElement(@styleElementUpdated.bind(this))
@subscriptions.add @styleManager.observeStyleElements(@styleElementAdded.bind(this))
@subscriptions.add @styleManager.onDidRemoveStyleElement(@styleElementRemoved.bind(this))
@subscriptions.add @styleManager.onDidUpdateStyleElement(@styleElementUpdated.bind(this))
contextChanged: ->
return unless @subscriptions?
@styleElementRemoved(child) for child in Array::slice.call(@children)
@context = @getAttribute('context')
@styleElementAdded(styleElement) for styleElement in @styles.getStyleElements()
@styleElementAdded(styleElement) for styleElement in @styleManager.getStyleElements()
return
styleElementAdded: (styleElement) ->