   constructor: (options) ->
     super options
     @ace = options.ace
-    
+
     levelComponents = @supermodel.getModels LevelComponent
     @componentTranslations = levelComponents.reduce((acc, lc) ->
       for doc in (lc.get('propertyDocumentation') ? [])

    offsetX = w - $(e.target).offset().left - @$el.width() if e.clientX + @$el.width() > w
    @pos = {left: offsetX + 80, top: offsetY - 20}
    @$el.css(@pos)
    
  onMouseOut: ->
    @word = null
    @markerRange = null
    @update()
    
  update: ->
    i18nKey = 'code.'+@word
    translation = @componentTranslations[@word] or $.t(i18nKey)
    if @word and translation and translation not in [i18nKey, @word]
      @setTooltipText translation
    else

        acc[doc.name] = translated if translated isnt doc.name
      acc
    , {})

    @onMouseMove = _.throttle @onMouseMove, 25

  afterRender: ->
    super()
    @ace.on 'mousemove', @onMouseMove
