Bootstrap 3 modals in Rails 4 confirms using bootstrap3-dialog JS plugin

May 15, 2014 ยท View on GitHub

//= require jquery //= require jquery_ujs //= require_tree . // ^ I am assuming that bootstrap3-dialog is in the tree

//GLOBAL JQuery Functaionality $(function(){

/*** CONFIRM MODAL OVERRIDE ***/
//override the use of js alert on confirms
//requires bootstrap3-dialog from https://github.com/nakupanda/bootstrap3-dialog
$.rails.allowAction = function(link){
	if( !link.is('[data-confirm]') )
		return true;
	BootstrapDialog.show({
		type: BootstrapDialog.TYPE_DANGER,
		title: 'Confirm',
		message: link.attr('data-confirm'),
		buttons: [{
			label: 'Accept',
			cssClass: 'btn-primary',
			action: function(dialogRef){
				link.removeAttr('data-confirm');
				link.trigger('click.rails');
				dialogRef.close();
			}
		}, {
			label: 'Cancel',
			action: function(dialogRef){
				dialogRef.close();
			}
		}]
	});
	return false; // always stops the action since code runs asynchronously
};

//Other global javascript stuffs //...

});