var confirmation = function(msg, success_cb) { var $confirm_modal = $('#confirmation-modal') var $msg = $confirm_modal.find('.msg') if(msg && msg.length > 15) $msg.css('font-size', '16px') var cb = { confirmed: function() {}, denied: function() {} } var $previousModal = $('.modal.inView') $('.modal').removeClass('inView') var $body = $('body') $body.addClass('is-showingModal') function hide_confirmation_and_show_previous(){ $('#confirmation-modal').removeClass('inView') if ($previousModal.length){ $previousModal.addClass('inView') $body.addClass('is-showingModal') } else $body.removeClass('is-showingModal') } $confirm_modal.addClass('inView') .off('click', '.yes') .off('click', '.no') .on('click', '.yes', function(e) { hide_confirmation_and_show_previous() if(success_cb) { success_cb() } else { cb.confirmed(e) } }) .on('click', '.no', function(e) { $('#confirmation-modal').removeClass('inView') hide_confirmation_and_show_previous() cb.denied(e) }) $msg.text(msg || 'Are you sure?') return cb } module.exports = confirmation