Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
j_platform / app / assets / javascripts / j_platform / row-editor.js.coffee
Size: Mime:
#Table row actions buttons
$(document).on "click", ".btn-edit-text", (e) ->
  e.preventDefault()
  $_this = $ @
  $_textInput = $_this.parents(".row-actions").siblings(".edit-text")
  $_textInput.css('display', 'inline-block').setCaretAtEnd()
  $_this.parents(".row-actions").siblings('.name').hide()
  $_this.parent(".edit-delete").hide()
  $_this.parent(".edit-delete").siblings(".save-cancel").show()

$(document).on "click", ".btn-cancel-text", (e) ->
  resolutionFlag = "edit-delete"
  e.preventDefault()
  $(this).parents(".row-actions").siblings(".edit-text").hide()
  $(this).parents(".row-actions").siblings(".name").show()
  $(this).parent(".save-cancel").hide()
  $(this).parent(".save-cancel").siblings(".edit-delete").css('display', 'block')

$(document).on "click", ".btn-save-text", (e) ->
  e.preventDefault()
  resolutionFlag = "edit-delete"
  $this = $(this)
  if $("#new_ticket_resolution").length > 0
    container = $this.parents('td')
    target = container.find(".edit-text")
    url = target.attr('data-url')
    value = target.val()
    ajaxdata = "ticket_resolution[name]=" + value
    ajaxmethod = "put"
  if $("#user-profile").length
    container = $this.parents("dd")
    target = container.find(".edit-text")
    url = target.attr('action')
    value = target.find("input[type=text]").val()
    ajaxdata = target.serialize()
    ajaxmethod = target.find("input[name='_method']").val()

  $.ajax
    url: url,
    data: ajaxdata,
    method: ajaxmethod,
    success: (data) ->
      if data.status == "success"
        container.find(".name").html(value).show()
        target.hide()
        container.find('.save-cancel').hide()
        container.find(".edit-delete").show()
        if $("#user-profile").length or $("#new_ticket_resolution").length
          noty {text: data.notice, type: "success"}
      else if data.status == "failed"
        noty {text: data.errors, type: "error"}

$(document).on "ajax:success", '#new_ticket_resolution', (e) ->
  setTimeout (->
    firstTimeValidation()
  ), 1000

$(document).on "click", ".btn-remove-text", (e) ->
  e.preventDefault()
  clickedRow = $(this).parents('tr')
  ticket_status_url = $(this).parents().siblings(".edit-text").attr('data-url')
  $.ajax
    url: ticket_status_url,
    method: "delete",
    success: (data) ->
      noty
        text: data.notice
        type: 'success'
      clickedRow.remove()
      rowCount()