/** * jBox Confirm plugin: Add a confirm dialog to links, buttons, etc. * * Author: Stephan Wagner (https://stephanwagner.me) * * License: MIT (https://opensource.org/licenses/MIT) * * Requires: jBox (https://cdn.jsdelivr.net/gh/StephanWagner/jBox@latest/dist/jBox.min.js) */ function jBoxConfirmWrapper(jBox, jQuery) { new jBox.plugin('Confirm', { // Options (https://stephanwagner.me/jBox/options#options-confirm) confirmButton: 'Submit', // Text for the submit button cancelButton: 'Cancel', // Text for the cancel button confirm: null, // Function to execute when clicking the submit button. By default jBox will use the onclick or href attribute in that order if found cancel: null, // Function to execute when clicking the cancel button closeOnConfirm: true, // Close jBox when the user clicks the confirm button target: window, fixed: true, attach: '[data-confirm]', getContent: 'data-confirm', content: 'Do you really want to do this?', minWidth: 360, maxWidth: 500, blockScroll: true, closeOnEsc: true, closeOnClick: false, closeButton: false, overlay: true, animation: 'zoomIn', preventDefault: true, // Triggered when jBox is attached to the element _onAttach: function (el) { // Extract the href or the onclick event if no submit event is passed if (!this.options.confirm) { var submit = el.attr('onclick') ? el.attr('onclick') : ( el.attr('href') ? ( el.attr('target') ? 'window.open("' + el.attr('href') + '", "' + el.attr('target') + '");' : 'window.location.href = "' + el.attr('href') + '";' ) : ''); el.prop('onclick', null).data('jBox-Confirm-submit', submit); } }, // Triggered when jBox was created _onCreated: function () { // Add modal class to mimic jBox modal this.wrapper.addClass('jBox-Modal'); // Add a footer to the jBox container this.footer = jQuery('