Sha256: a6f74198a02c171a28ec97a1e56ea2447d0292855f9bd7fa37717c2c0f7a18a2

Contents?: true

Size: 1.32 KB

Versions: 6

Compression:

Stored size: 1.32 KB

Contents

decko.addEditor(
  '.ace-editor-textarea',
  ->
    decko.initAce $(this),
  ->
    aceEditorContent this[0]
)

$.extend decko,
  setAceConfig: (string) ->
    setter = ->
      try
        $.parseJSON string
      catch
        {}
    decko.aceConfig = setter()

  configAceEditor: (editor, mode) ->
    conf = {
      showGutter: true,
      theme: "ace/theme/github",
      printMargin: false,
      tabSize: 2,
      useSoftTabs: true,
      maxLines: 30
    }
    hard_conf = {
      mode: "ace/mode/" + mode
    }
    user_conf = if decko.aceConfig? then decko.aceConfig else {}
    $.extend conf, user_conf['default'], user_conf[mode], hard_conf
    editor.setOptions conf

  initAce: (textarea) ->
    mode = textarea.attr "data-ace-mode"

    unless mode
      textarea.autosize()
      return
    editDiv = $("<div>",
      position: "absolute"
      width: "auto"
      height: textarea.height()
    ).insertBefore(textarea)
    textarea.css "visibility", "hidden"
    textarea.css "height", "0px"
    ace.config.set('basePath', decko.path('mod/ace_editor/ace'))
    editor = ace.edit(editDiv[0])
    editor.getSession().setValue textarea.val()
    decko.configAceEditor(editor, mode)
    return

aceEditorContent = (element) ->
  ace_div = $(element).siblings(".ace_editor")
  editor = ace.edit(ace_div[0])
  editor.getSession().getValue()

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
card-mod-ace_editor-0.14.2 assets/script/script_ace_config.js.coffee
card-mod-ace_editor-0.14.1 assets/script/script_ace_config.js.coffee
card-mod-ace_editor-0.14.0 assets/script/script_ace_config.js.coffee
card-mod-ace_editor-0.13.4 assets/script/script_ace_config.js.coffee
card-mod-ace_editor-0.13.3 assets/script/script_ace_config.js.coffee
card-mod-ace_editor-0.13.2 assets/script/script_ace_config.js.coffee