Skip to content

Instantly share code, notes, and snippets.

@raitocz
Forked from duskohu/confirm.dialog.js
Last active August 29, 2015 14:23
Show Gist options
  • Save raitocz/3f35e7a10e803f871219 to your computer and use it in GitHub Desktop.
Save raitocz/3f35e7a10e803f871219 to your computer and use it in GitHub Desktop.
Nette JS library for rendering twtBootstrap 3.* modal confirm via data attributes on button.
/**
* Confirm dialog plugin (For bootstrap 3 @Raito Akehanareru)
*
* @copyright Copyright (c) 2012 Jan Červený
* @license BSD
* @link confirmdialog.redsoft.cz
* @version 1.1
*/
(function ($, undefined) {
$.nette.ext({
load: function () {
$('[data-confirm]').click(function (event) {
var obj = this;
event.preventDefault();
event.stopImmediatePropagation();
$("<div id='dConfirm' class='modal fade'></div>").appendTo('body');
$('#dConfirm').html("<div class='modal-dialog'><div class='modal-content'><div id='dConfirmHeader' class='modal-header'></div><div id='dConfirmBody' class='modal-body'></div><div id='dConfirmFooter' class='modal-footer'></div></div></div>");
$('#dConfirmHeader').html("<a class='close' data-dismiss='modal'>×</a><h3 id='dConfirmTitle'></h3>");
$('#dConfirmTitle').html($(obj).data('confirm-title'));
$('#dConfirmBody').html($(obj).data('confirm-text'));
$('#dConfirmFooter').html("<a id='dConfirmOk' class='btn " + $(obj).data('confirm-ok-class') + "' data-dismiss='modal'>Ano</a><a id='dConfirmCancel' class='btn " + $(obj).data('confirm-cancel-class') + "' data-dismiss='modal'>Ne</a>");
if ($(obj).data('confirm-header-class')) {
$('#dConfirmHeader').addClass($(obj).data('confirm-header-class'));
}
if ($(obj).data('confirm-ok-text')) {
$('#dConfirmOk').html($(obj).data('confirm-ok-text'));
}
if ($(obj).data('confirm-cancel-text')) {
$('#dConfirmCancel').html($(obj).data('confirm-cancel-text'));
}
$('#dConfirmOk').on('click', function () {
var tagName = $(obj).prop("tagName");
if (tagName == 'INPUT') {
var form = $(obj).closest('form');
form.submit();
} else {
if ($(obj).data('ajax') == 'on') {
$.nette.ajax({
url: obj.href
});
} else {
document.location = obj.href;
}
}
});
$('#dConfirm').on('hidden', function () {
$('#dConfirm').remove();
});
$('#dConfirm').modal('show');
return false;
});
}
});
})(jQuery);
<a
data-confirm="modal"
data-confirm-title="Confirm"
data-confirm-text="Delete?"
data-confirm-ok-class="btn-danger"
data-confirm-ok-text="Delete"
data-confirm-cancel-class="btn-success"
data-confirm-cancel-text="Cancel"
class="btn btn-danger btn-mini pull-right"
data-ajax="on"
n:href="deleteHandle! $id">Delete</a>
$(function () {
$.nette.init();
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment