UNPKG

@corpecca/qp-web-resources

Version:
97 lines (81 loc) 2.87 kB
var qp = qp || {}; (function ($) { if (!sweetAlert || !$) { return; } /* DEFAULTS *************************************************/ qp.libs = qp.libs || {}; qp.libs.sweetAlert = { config: { 'default': { }, info: { icon: 'info' }, success: { icon: 'success' }, warn: { icon: 'warning' }, error: { icon: 'error' }, confirm: { icon: 'warning', title: 'Are you sure?', buttons: ['Cancel', 'Yes'] } } }; /* MESSAGE **************************************************/ var showMessage = function (type, message, title, callback, options) { options = options || {}; var messageContent = {}; if(title){ messageContent.title = title; } if (options.isHtml) { delete options.isHtml; var el = document.createElement('div'); //https://github.com/t4t5/sweetalert/issues/842 el.style = 'position: relative;'; el.innerHTML = message; messageContent.content = el; } else { messageContent.text = message; } var opts = $.extend( {}, qp.libs.sweetAlert.config['default'], qp.libs.sweetAlert.config[type], messageContent, options ); return $.Deferred(function ($dfd) { sweetAlert(opts).then(function (isConfirmed) { callback && callback(isConfirmed); $dfd.resolve(isConfirmed); }); }); }; qp.message.info = function (message, title, options) { return showMessage('info', message, title, null, options); }; qp.message.success = function (message, title, options) { return showMessage('success', message, title, null, options); }; qp.message.warn = function (message, title, options) { return showMessage('warn', message, title, null, options); }; qp.message.error = function (message, title, options) { return showMessage('error', message, title, null, options); }; qp.message.confirm = function (message, title, callback, options) { return showMessage('confirm', message, title, callback, options); }; qp.event.on('qp.dynamicScriptsInitialized', function () { qp.libs.sweetAlert.config.confirm.title = qp.localization.qpWeb('AreYouSure'); qp.libs.sweetAlert.config.confirm.buttons = [qp.localization.qpWeb('Cancel'), qp.localization.qpWeb('Yes')]; }); })(jQuery);