Sha256: 91be9e153e997bbf6ab597a961665ef33282355d47c0e5c5471da0179bcadf7b

Contents?: true

Size: 1.43 KB

Versions: 7

Compression:

Stored size: 1.43 KB

Contents

class Widget
  constructor: (@element) ->
    @id = @element.data 'id'
    @name = @element.data 'name'
    @type = @element.data 'type'
    @path = @element.data 'path'
    @airmode = true
    @focus = false
    @changed = false
    @summernote()
    return

  summernote: ->
    @element.summernote
      airMode: @airmode
      codemirror:
        lineNumbers: true
        lineWrapping: true
        tabSize: 2
        mode: 'htmlmixed'
        theme: 'monokai'
      onChange: =>
        @setChanged()
      onfocus: =>
        @setFocus()
        return
    return

  switchAirmodeOn: ->
    @element.destroy()
    @airmode = true
    @summernote()
    return

  switchAirmodeOff: ->
    @element.destroy()
    @airmode = false
    @summernote()
    return

  save: ->
    @getContent()
    @update()
    @unsetChanged()
    return

  update: ->
    $.ajax
      url: "#{@path}"
      type: "PUT"
      data:
        widget:
          content: @content
      success: (data) ->
        new Message "Content updated"
        return
      error: ->
        new Message "Content not updated"
        return
    return

  getContent: ->
    @content = $(".widget-html[data-name=#{@name}]").code()
    return

  setFocus: ->
    @focus = true
    return

  setChanged: ->
    @changed = true
    $('#quadro-save').removeClass('hide')
    return

  unsetChanged: ->
    @changed = false
    $('#quadro-save').addClass('hide')
    return

window.Widget = Widget

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
quadro-0.5.6 app/assets/javascripts/quadro/widget.js.coffee
quadro-0.5.5 app/assets/javascripts/quadro/widget.js.coffee
quadro-0.5.4 app/assets/javascripts/quadro/widget.js.coffee
quadro-0.5.3 app/assets/javascripts/quadro/widget.js.coffee
quadro-0.5.2 app/assets/javascripts/quadro/widget.js.coffee
quadro-0.5.1 app/assets/javascripts/quadro/widget.js.coffee
quadro-0.5.0 app/assets/javascripts/quadro/widget.js.coffee