import $ from 'jquery';
import sweetalert2 from 'sweetalert2';
import toastr from 'toastr';
import { trans } from './i18n';
/**
* Show message to div#msg with level
*
* @param {string} msg
* @param {string} type
* @return {void}
*/
export function showMsg(msg, type = 'info') {
$('#msg')
.removeClass()
.addClass('callout')
.addClass(`callout-${type}`)
.html(msg);
}
/**
* Show modal if error occured when sending an ajax request.
*
* @param {Error} error
* @return {void}
*/
export function showAjaxError(error) {
showModal(error.message.replace(/\n/g, '
'), trans('general.fatalError'), 'danger');
}
/**
* Show a bootstrap modal.
*
* @param {string} msg Modal content
* @param {string} title Modal title
* @param {string} type Modal type, default|info|success|warning|error
* @param {object} options All $.fn.modal options, plus { btnText, callback, destroyOnClose }
* @return {void}
*/
export function showModal(msg, title = 'Message', type = 'default', options = {}) {
const btnType = (type !== 'default') ? 'btn-outline' : 'btn-primary';
const btnText = options.btnText || 'OK';
const onClick = (options.callback === undefined) ? 'data-dismiss="modal"' : `onclick="${options.callback}"`;
const destroyOnClose = (options.destroyOnClose === false) ? false : true;
const dom = `