Respect the class overlay decoration property.

This commit is contained in:
Ash Wilson
2015-07-24 15:46:40 -07:00
parent 0b1a303d5b
commit fa5a1d3361
2 changed files with 6 additions and 4 deletions

View File

@@ -27,11 +27,12 @@ class OverlayManager
contentMargin = parseInt(getComputedStyle(itemView)['margin-left']) ? 0
@presenter.setOverlayDimensions(decorationId, itemView.offsetWidth, itemView.offsetHeight, contentMargin)
renderOverlay: (state, decorationId, {item, pixelPosition}) ->
renderOverlay: (state, decorationId, {item, pixelPosition, class: klass}) ->
itemView = atom.views.getView(item)
cachedOverlay = @overlaysById[decorationId]
unless overlayNode = cachedOverlay?.overlayNode
overlayNode = document.createElement('atom-overlay')
overlayNode.classList.add(klass) if klass?
@container.appendChild(overlayNode)
@overlaysById[decorationId] = cachedOverlay = {overlayNode, itemView}

View File

@@ -424,7 +424,7 @@ class TextEditorPresenter
for decoration in @model.getOverlayDecorations()
continue unless decoration.getMarker().isValid()
{item, position} = decoration.getProperties()
{item, position, class: klass} = decoration.getProperties()
if position is 'tail'
screenPosition = decoration.getMarker().getTailScreenPosition()
else
@@ -450,8 +450,9 @@ class TextEditorPresenter
pixelPosition.top = top
pixelPosition.left = left
@state.content.overlays[decoration.id] ?= {item}
@state.content.overlays[decoration.id].pixelPosition = pixelPosition
overlayState = @state.content.overlays[decoration.id] ?= {item}
overlayState.pixelPosition = pixelPosition
overlayState.class = klass if klass?
visibleDecorationIds[decoration.id] = true
for id of @state.content.overlays