Sha256: 87c513338ca74ad4ee745954401bdb3ab100b6c64c01aedaa8a7a0be951dd5cc

Contents?: true

Size: 1.16 KB

Versions: 27

Compression:

Stored size: 1.16 KB

Contents

// Implements the jQuery load div pattern
// See effective_reports admin screen
$(document).on('change', "[data-load-ajax-url][data-load-ajax-div]", function(event) {
  let $input = $(event.currentTarget);

  let url = $input.data('load-ajax-url');
  let div = $input.data('load-ajax-div');

  let $container = $input.closest('form').find(div);
  if(div.length == 0) { console.error("Unable to find load ajax div " + div); return; }

  let name = ($input.attr('name').split(/\[|\]/)[1] || '');
  if(name.length == 0) { console.error("Unable to parse load ajax input name " + $input.attr('name')); return; }

  let value = ($input.val() || '');
  if(value.length == 0) { $container.html(''); return; }

  url = (url + '?' + name + '=' + value);

  $container.html("<div class='load-ajax-loading'><p>Loading...</p></div>");

  let $content = $('<div></div>');

  $content.load(url + ' ' + div, function(response, status, xhr) {
    if(status == 'error') {
      $container.append("<div class='load-ajax-error'><p>Error: please refresh the page and try again.</p></div>");
    } else {
      $container.replaceWith($content.children(div));
      EffectiveBootstrap.initialize();
    }
  });
});

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
effective_bootstrap-1.14.5 app/assets/javascripts/effective_bootstrap/load_ajax.js
effective_bootstrap-1.14.4 app/assets/javascripts/effective_bootstrap/load_ajax.js
effective_bootstrap-1.14.3 app/assets/javascripts/effective_bootstrap/load_ajax.js
effective_bootstrap-1.14.2 app/assets/javascripts/effective_bootstrap/load_ajax.js
effective_bootstrap-1.14.1 app/assets/javascripts/effective_bootstrap/load_ajax.js
effective_bootstrap-1.14.0 app/assets/javascripts/effective_bootstrap/load_ajax.js
effective_bootstrap-0.13.7 app/assets/javascripts/effective_bootstrap/load_ajax.js
effective_bootstrap-0.13.6 app/assets/javascripts/effective_bootstrap/load_ajax.js
effective_bootstrap-0.13.5 app/assets/javascripts/effective_bootstrap/load_ajax.js
effective_bootstrap-0.13.4 app/assets/javascripts/effective_bootstrap/load_ajax.js
effective_bootstrap-0.13.3 app/assets/javascripts/effective_bootstrap/load_ajax.js
effective_bootstrap-0.13.2 app/assets/javascripts/effective_bootstrap/load_ajax.js
effective_bootstrap-0.13.1 app/assets/javascripts/effective_bootstrap/load_ajax.js
effective_bootstrap-0.13.0 app/assets/javascripts/effective_bootstrap/load_ajax.js
effective_bootstrap-0.12.7 app/assets/javascripts/effective_bootstrap/load_ajax.js
effective_bootstrap-0.12.6 app/assets/javascripts/effective_bootstrap/load_ajax.js
effective_bootstrap-0.12.5 app/assets/javascripts/effective_bootstrap/load_ajax.js
effective_bootstrap-0.12.4 app/assets/javascripts/effective_bootstrap/load_ajax.js
effective_bootstrap-0.12.3 app/assets/javascripts/effective_bootstrap/load_ajax.js
effective_bootstrap-0.12.2 app/assets/javascripts/effective_bootstrap/load_ajax.js