Sha256: 77350ebcb93de2d9fff5d7cce89c9c5833d70c6ce03b3da629ca02d79dedb1eb

Contents?: true

Size: 1.81 KB

Versions: 20

Compression:

Stored size: 1.81 KB

Contents

/* ajax_windows.js.  Support for modal popup windows in Umlaut items. */
jQuery(document).ready(function($) {
  var populate_modal = function(data, textStatus, jqXHR) {
    // Wrap the data object in jquery object
    var body = $("<div/>").html(data);
    // Remove the first heading from the returned data
    var header = body.find("h1, h2, h3, h4, h5, h6").eq(0).remove();
    // Remove the first submit button from the returned data
    var footer = body.find("form").find("input[type=submit]").eq(0).remove();
    
    // Add in content
    if (header) $("#modal").find("[data-role=modal-title-content]").text(header.text());    
    if (body) $("#modal").find("[data-role=modal-body-content]").html(body.html());    
    if (footer) $("#modal").find("[data-role=modal-footer-content]").html(footer);
    // Toggle the ajax-loader
    $("#modal").find(".ajax-loader").hide();
  }
  var cleanup_modal = function() {
    $("#modal").find("[data-role=modal-title-content]").text('');
    $("#modal").find("[data-role=modal-body-content]").text('');
    $("#modal").find("[data-role=modal-footer-content]").text('');
    $("#modal").find(".ajax-loader").hide();
  }
  var display_modal = function(event) {
    event.preventDefault();
    cleanup_modal();
    $("#modal").find(".ajax-loader").show();
    $("#modal").modal("show");
    $.get(this.href, "", populate_modal, "html");
  }
  var ajax_form_catch = function(event) {
    event.preventDefault();
    $("#modal").find(".ajax-loader").show();
    var form =  $("#modal").find("form");
    $.post(form.attr("action"), form.serialize(), populate_modal, "html");
    cleanup_modal();
  };
  $(document).on("click", "a.ajax_window", display_modal);
  $(document).on("click", "#modal .modal-footer input[type=submit]", ajax_form_catch);
  $(document).on("submit", "#modal form", ajax_form_catch);
});

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
umlaut-4.1.7 app/assets/javascripts/umlaut/ajax_windows.js
umlaut-4.1.6 app/assets/javascripts/umlaut/ajax_windows.js
umlaut-4.1.5 app/assets/javascripts/umlaut/ajax_windows.js
umlaut-4.1.4 app/assets/javascripts/umlaut/ajax_windows.js
umlaut-4.1.3 app/assets/javascripts/umlaut/ajax_windows.js
umlaut-4.1.2 app/assets/javascripts/umlaut/ajax_windows.js
umlaut-4.1.1 app/assets/javascripts/umlaut/ajax_windows.js
umlaut-4.1.0 app/assets/javascripts/umlaut/ajax_windows.js
umlaut-4.1.0.pre3 app/assets/javascripts/umlaut/ajax_windows.js
umlaut-4.1.0.pre.2 app/assets/javascripts/umlaut/ajax_windows.js
umlaut-4.1.0.pre.alpha.1 app/assets/javascripts/umlaut/ajax_windows.js
umlaut-4.0.3 app/assets/javascripts/umlaut/ajax_windows.js
umlaut-4.0.2 app/assets/javascripts/umlaut/ajax_windows.js
umlaut-4.0.1 app/assets/javascripts/umlaut/ajax_windows.js
umlaut-4.0.0 app/assets/javascripts/umlaut/ajax_windows.js
umlaut-4.0.0.beta5 app/assets/javascripts/umlaut/ajax_windows.js
umlaut-4.0.0.beta4 app/assets/javascripts/umlaut/ajax_windows.js
umlaut-4.0.0.beta3 app/assets/javascripts/umlaut/ajax_windows.js
umlaut-4.0.0.beta2 app/assets/javascripts/umlaut/ajax_windows.js
umlaut-4.0.0.beta1 app/assets/javascripts/umlaut/ajax_windows.js