Enhanced Modal Dialog Plugin For Bootstrap 4
| File Size: | 18.3 KB |
|---|---|
| Views Total: | 1114 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
Yet another jQuery/Bootstrap plugin to create flexible, enhanced, customizable alert, confirmation, prompt, and generic dialog popups based on Bootstrap 4 modal component.
How to use it:
1. To use this plugin, make sure the latest jQuery library and Bootstrap 4 framework are properly loaded in the document.
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
2. Create a basic alert popup box with default settings using the bsd.alert method.
bsd.alert('Alert Message Here',{
// Callback : [null] | function
callback: null,
// The template used to generate dialog.
template: "<div class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\"><div class=\"modal-dialog\" role=\"document\"><div class=\"modal-content\"><div class=\"modal-body\"><p class=\"lead bsd-message\"></p><div class=\"d-flex justify-content-center mt-3\"><button type=\"button\" class=\"btn bsd-close\" data-dismiss=\"modal\"></button></div></div></div></div></div>",
// The close button text.
closeText: "Validate",
// A class to append to close button.
closeClass: "btn-primary"
});
3. Create a basic confirmation popup box with default settings using the bsd.confirm method.
bsd.confirm('Are you sure?', {
// Callback : function
callback: function(confirmed, event) {
return true;
},
// The template used to generate dialog.
template: "<div class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\"><div class=\"modal-dialog\" role=\"document\"><div class=\"modal-content\"><div class=\"modal-body\"><p class=\"lead bsd-message\"></p><div class=\"d-flex justify-content-between mt-3\"><button class=\"btn bsd-cancel\" data-dismiss=\"modal\"></button><button class=\"btn bsd-confirm\"></button></div></div></div></div></div>",
// The cancel button text.
cancelText: "Cancel",
// A class to append to cancel button.
cancelClass: "btn-light",
// The confirm button text.
confirmText: "Validate",
// A class to append to confirm button.
confirmClass: "btn-primary"
});
4. Create a basic prompt popup box with default settings using the bsd.alert method.
bsd.prompt('Prompt Popup',{
// Generate the prompt field : string | jQuery object | function (must return a jQuery object).
// The prompt field MUST have the class "bsd-field".
// If a function is provided, its return value MUST be compatible with jQuery "appendTo" function.
field: function(multiline) {
if (multiline) {
return '<textarea class="form-control bsd-field"></textarea>';
}
return '<input type="text" class="form-control bsd-field"/>';
},
// Callback : function
callback: function(value, event) {
return true;
},
// The template used to generate dialog.
template: "<div class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\"><div class=\"modal-dialog\" role=\"document\"><div class=\"modal-content\"><div class=\"modal-body\"><p class=\"lead bsd-message\"></p><div class=\"bsd-field-wrapper\"></div><div class=\"d-flex justify-content-between mt-3\"><button class=\"btn bsd-cancel\" data-dismiss=\"modal\"></button><button class=\"btn bsd-confirm\"></button></div></div></div></div></div>",
// Is the prompt input multiline: true | [false]
multiline: false,
// The cancel button text.
cancelText: "Cancel",
// A class to append to cancel button.
cancelClass: "btn-light",
// The confirm button text.
confirmText: "Validate",
// A class to append to confirm button.
confirmClass: "btn-primary"
});
5. The global settings.
bsd.defaults.dialog = {
// Callback : [null] | function
callback: null,
// An value to use as id attribute for the modal: [null] | string
id: null,
// Show the modal element when created : [true] | false | function
// If a function is provided, the modal will be shown and the function will be used on show.bs.modal event.
show: true,
// Delete the modal element on hidden : [true] |false
destroy: true,
// Dialog size : [null] | 'modal-sm' | 'modal-lg' | 'modal-xl'
size: null,
// Include a backdrop element: [true] | false | 'static'
// With static option, backdrop doesn't close the modal on click.
backdrop: true,
// Closes the dialog when escape key is pressed: [true] |false
keyboard: true,
// Center vertically the dialog in the window: true | [false]
vcenter: false,
// Center horizontally the dialog text: true | [false]
hcenter: false,
// Manage controls alignment: ['between'] | 'center' | 'start' | 'end' | 'around'
controlsAlignment: 'between'
};
Changelog:
v2.0.0 (2020-05-02)
- Implemented webpack for library compilation
- Simplified package scaffolding
- Improved dialogs events management and callback invokation
- Added controls alignment management
2020-04-30
- Fix prompt value not passed to callback function
This awesome jQuery plugin is developed by bgaze. For more Advanced Usages, please check the demo page or visit the official website.











