Skip to content

Instantly share code, notes, and snippets.

@Genkilabs
Last active November 18, 2017 11:16
Show Gist options
  • Save Genkilabs/bdcc5f62c5b46a8e0904 to your computer and use it in GitHub Desktop.
Save Genkilabs/bdcc5f62c5b46a8e0904 to your computer and use it in GitHub Desktop.
Bootstrap 3 modals in Rails 4 confirms using bootstrap3-dialog JS plugin
//= 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
//...
});
@Genkilabs
Copy link
Author

Use:

  1. Put bootstrap-dialog.js in app/assets/javascripts and bootstrap-dialog.css in app/assets/stylesheets/screen
  2. Copy snippet into application.js as shown.
  3. Done.

More info on customization here: http://nakupanda.github.io/bootstrap3-dialog/
Core Project: https://github.com/nakupanda/bootstrap3-dialog

@mahemoff
Copy link

Minor nit, but I suggest putting it in a separate file and requiring it so that application.js is purely require statements.

@silversilkroad
Copy link

PLEASE SOS. I need example toggle Bootsrap dialog using a simple button or link. How to do? as you see in the examples NAKUPANDA repository the demo is using CODE SOURCE RUNNABLE. i want the code to be HIDDEN and launched from a simple button or menu link. thanks in advance

@trincema
Copy link

How can I connect this with AngularJS? ng-model does not work in an input form inside message

@Ramyz986
Copy link

Ramyz986 commented Feb 2, 2016

how do i use auto destroy !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment