Sha256: 716d0c750b008fd9aa7e8b810284e4b834b9a0282d9e5abf6b4a0c23b85cb002

Contents?: true

Size: 1.54 KB

Versions: 29

Compression:

Stored size: 1.54 KB

Contents

window.alexandrie =
  loadList: ->
    $("#dorsale-attachments").map ->
      $.ajax
        url: this.dataset.url
        success: (data) ->
          alexandrie.replaceHTML(data)

  replaceHTML: (html) ->
    $container =  $("#dorsale-attachments")
    $container.html(html)
    setupUploadInputs($container)

  setup: ->
    $(document).on "ajax:success", "#dorsale-attachments *", (e, data) ->
      alexandrie.replaceHTML(data)

    $(document).on "submit", "#dorsale-attachments form", ->
      # Ignore progress if no file input
      return unless $(this).find("input[type=file]").length

      form = $(this)
      xhr  = new XMLHttpRequest()
      data = new FormData(this)

      xhr.upload.addEventListener "progress", (e) ->
        return unless e.lengthComputable

        percentComplete = Math.round(e.loaded * 100 / e.total)
        percentComplete = 1  if percentComplete == 0
        percentComplete = 99 if percentComplete == 100

        # Get edit progress bar if available, new progress bar otherwise
        bar = $("#edit_attachment_tr + tr .progress-bar").first()
        bar = $("#new_attachment_tr + tr .progress-bar").first() if bar.length == 0
        bar.html percentComplete+"%"
        bar.css  "width":         percentComplete+"%"
        bar.attr "aria-valuenow": percentComplete

      xhr.addEventListener "load", (e) ->
        alexandrie.replaceHTML(e.target.responseText)

      xhr.open("POST", this.action, true)
      xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest")
      xhr.send(data)

      return false

alexandrie.setup()

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
dorsale-4.0.0 app/assets/javascripts/dorsale/engines/alexandrie.coffee
dorsale-3.20.0 app/assets/javascripts/dorsale/engines/alexandrie.coffee
dorsale-3.19.1 app/assets/javascripts/dorsale/engines/alexandrie.coffee
dorsale-3.19.0 app/assets/javascripts/dorsale/engines/alexandrie.coffee
dorsale-3.18.0 app/assets/javascripts/dorsale/engines/alexandrie.coffee
dorsale-3.17.0 app/assets/javascripts/dorsale/engines/alexandrie.coffee
dorsale-3.16.0 app/assets/javascripts/dorsale/engines/alexandrie.coffee
dorsale-3.15.0 app/assets/javascripts/dorsale/engines/alexandrie.coffee
dorsale-3.14.11 app/assets/javascripts/dorsale/engines/alexandrie.coffee
dorsale-3.14.10 app/assets/javascripts/dorsale/engines/alexandrie.coffee
dorsale-3.14.9 app/assets/javascripts/dorsale/engines/alexandrie.coffee
dorsale-3.14.8 app/assets/javascripts/dorsale/engines/alexandrie.coffee
dorsale-3.14.7 app/assets/javascripts/dorsale/engines/alexandrie.coffee
dorsale-3.14.6 app/assets/javascripts/dorsale/engines/alexandrie.coffee
dorsale-3.14.5 app/assets/javascripts/dorsale/engines/alexandrie.coffee
dorsale-3.14.4 app/assets/javascripts/dorsale/engines/alexandrie.coffee
dorsale-3.14.3 app/assets/javascripts/dorsale/engines/alexandrie.coffee
dorsale-3.14.2 app/assets/javascripts/dorsale/engines/alexandrie.coffee
dorsale-3.14.1 app/assets/javascripts/dorsale/engines/alexandrie.coffee
dorsale-3.14.0 app/assets/javascripts/dorsale/engines/alexandrie.coffee