Sha256: 55787bcc2401659e5e63d20d280edfd833750f4048718c3135e285c85d37d93a

Contents?: true

Size: 1.54 KB

Versions: 4

Compression:

Stored size: 1.54 KB

Contents

{handleEvent} = Trix

class Trix.Inspector.View
  constructor: (@editorElement) ->
    {@editorController, @editor} = @editorElement
    {@compositionController, @composition} = @editorController

    @element = document.createElement("details")
    @element.open = true if @getSetting("open") is "true"
    @element.classList.add(@template)

    @titleElement = document.createElement("summary")
    @element.appendChild(@titleElement)

    @panelElement = document.createElement("div")
    @panelElement.classList.add("panel")
    @element.appendChild(@panelElement)

    @element.addEventListener "toggle", (event) =>
      if event.target is @element
        @didToggle()

    @installEventHandlers() if @events

  installEventHandlers: ->
    for eventName, handler of @events then do (eventName, handler) =>
      handleEvent eventName, onElement: @editorElement, withCallback: (event) =>
        requestAnimationFrame =>
          handler.call(this, event)

  didToggle: (event) ->
    @saveSetting("open", @isOpen())
    @render()

  isOpen: ->
    @element.hasAttribute("open")

  getTitle: ->
    @title ? ""

  render: ->
    @renderTitle()
    if @isOpen()
      @panelElement.innerHTML = JST["trix/inspector/templates/#{@template}"](this)

  renderTitle: ->
    @titleElement.innerHTML = @getTitle()

  getSetting: (key) ->
    key = @getSettingsKey(key)
    window.sessionStorage?[key]

  saveSetting: (key, value) ->
    key = @getSettingsKey(key)
    window.sessionStorage?[key] = value

  getSettingsKey: (key) ->
    "trix/inspector/#{@template}/#{key}"

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
vapid-0.1.3 lib/vapid/vendor/trix/src/trix/inspector/view.coffee
vapid-0.1.2 lib/vapid/vendor/trix/src/trix/inspector/view.coffee
vapid-0.1.1 lib/vapid/vendor/trix/src/trix/inspector/view.coffee
vapid-0.1.0 lib/vapid/vendor/trix/src/trix/inspector/view.coffee