Sha256: fe3b5c3b1bd924de0e1f55a37fa4e7fe67a0f1e6cb2acba7b0e986cb272e99e2

Contents?: true

Size: 1.33 KB

Versions: 1

Compression:

Stored size: 1.33 KB

Contents

/*
  Override the default confirm dialog
  defined by jQuery UJS
*/
$.rails.allowAction = function(link){
  if (link.data('confirm') == undefined){
    return true;
  }
  $.rails.showConfirmationDialog(link);
  return false;
}

/*
  Remove the data-confirm from the link so
  Rails doesn't re-trigger the modal. Then
  trigger a click of the link.
*/
$.rails.confirmed = function(link){
  link.data('confirm', null);
  if (link.data('method')){
    // let rails handle non-GET requests
    // (i.e. data-method="delete")
    return link.trigger('click.rails');
  }
  window.location.href = link.attr('href');
}

/*
  Toggle the Foundation reveal modal when a data-confirm
  element is clicked.
*/
$.rails.showConfirmationDialog = function(link){
  var el = link.data('confirm');
  $('[data-' + el + ']').foundation('open');
}

/*
  General Usage:
  Link
  <a href="somewhere" data-confirm="my-data-element">Delete</a>

  Modal
  <div class="reveal" data-reveal data-my-data-element>
    ...
    <a href="#" data-reveal-confirm="my-data-element">OK</a>
    ...
  </div>
*/
$(document).on('click', '*[data-reveal-confirm]', function(e){
  e.preventDefault();
  var el = $(e.currentTarget).data('reveal-confirm');
  var link = $('[data-confirm="'+ el + '"]');
  var modal = $('[data-' + el + ']');
  $(modal).foundation('close');
  $.rails.confirmed(link);
});

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ama_layout-9.4.1 app/assets/javascripts/ama_layout/confirm_modal.js