Sha256: 9ac63c3e0c64aa34e91caeb1f7a1933e881b3ea4e68e3582ebce6b985e5f705e

Contents?: true

Size: 1.11 KB

Versions: 1

Compression:

Stored size: 1.11 KB

Contents

#= require_tree ./templates
#= require_self

CodeSync.PryConsole = Backbone.View.extend
  className: "codesync-pry-console"

  endpoint: "http://localhost:9295/pry-console"

  rendered: false

  events:
    "keydown input" : "processInput"
    "submit form" : (e)->
      e.preventDefault()

  initialize: (@options={})->
    _.extend(@, @options)
    Backbone.View::initialize.apply(@,arguments)

  processInput: (e)->
    if e.keyCode is 13 and @getCode().length > 0
      @sendCode(true)


  sendCode: ()->
    $.ajax
      url: @endpoint

      type: "POST"

      success: (response)=>
        console.log("Success", response)

      error: (response)=>
        console.log("Error", response)

      data:
        code: @getCode()


  getCode: ()->
    @$('input#code').val()

  render: ()->
    @$el.html JST["code_sync/console/templates/console"](endpoint: @endpoint)
    @rendered = true
    @

CodeSync.PryConsole.renderSingleton = (renderToElement)->
  renderToElement ||= $('body')

  window.codeSyncConsole?.remove()
  window.codeSyncConsole = new CodeSync.PryConsole()
  $(renderToElement).html(codeSyncConsole.render().el)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
code_sync-0.6.7 lib/assets/javascripts/code_sync/console/index.coffee