@corpecca/qp-web-resources
Version:
Qp web resources
97 lines (81 loc) • 2.87 kB
JavaScript
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);