Sha256: ef9f9fbf434062a37373aa29325fd3771a45e38ec5904002914671bed768adfa

Contents?: true

Size: 1.62 KB

Versions: 9

Compression:

Stored size: 1.62 KB

Contents

defaultOptions =
  readOnly: false
  lineNumbers: true
  gutter: true
  autofocus: false
  passDelay: 50
  autoClearEmptyLines: true
  smartIndent: false
  tabSize: 2
  electricChars: false

Luca.define("Luca.tools.CodeMirrorField").extends("Luca.components.Panel").with
  bodyClassName: "codemirror-wrapper"
  preProcessors: []
  postProcessors: []

  codemirrorOptions: ()->
    options = _.clone( defaultOptions )

    customOptions =
      mode: @mode || "coffeescript"
      theme: @theme || "monokai"
      keyMap: @keyMap || "basic"
      lineNumbers: if @lineNumbers? then @lineNumbers else defaultOptions.lineNumbers
      readOnly: if @readOnly? then @readOnly else defaultOptions.readOnly
      gutter: if @gutter? then @gutter else defaultOptions.gutter
      lineWrapping: @lineWrapping is true
      onChange: ()=>
        @trigger "editor:change", @
        @onEditorChange?.call(@)

    customOptions.onKeyEvent = _.bind(@onKeyEvent,@) if @onKeyEvent?

    _.extend(options, customOptions)

  getCodeMirror: ()->
    @instance

  getValue: (processed=true)->
    value = @getCodeMirror().getValue()

  setValue: (value="", processed=true)->
    @getCodeMirror().setValue( value )

  afterRender: ()->
    @instance = CodeMirror( @$bodyEl()[0], @codemirrorOptions() )
    @setMaxHeight()
    @setHeight()

  setMaxHeight: (maxHeight=undefined, grow=true)->
    maxHeight ||= @maxHeight
    return unless maxHeight?
    @$('.CodeMirror-scroll').css('max-height', maxHeight)
    @$('.CodeMirror-scroll').css('height', maxHeight) if grow is true

  setHeight: (height=undefined)->
    @$('.CodeMirror-scroll').css('height', height) if height?

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
luca-0.9.76 src/tools/code_mirror_field.coffee
luca-0.9.7 src/tools/code_mirror_field.coffee
luca-0.9.65 src/tools/code_mirror_field.coffee
luca-0.9.6 src/tools/code_mirror_field.coffee
luca-0.9.42 src/tools/code_mirror_field.coffee
luca-0.9.4 src/tools/code_mirror_field.coffee
luca-0.9.2 src/tools/code_mirror_field.coffee
luca-0.9.1 src/tools/code_mirror_field.coffee
luca-0.9.0 src/tools/code_mirror_field.coffee