$.holdReady(true);
if (typeof lang_id == "undefined") lang_id = 1;
$.get(base_url + '/global_include/templates/global/dialog/dialog.cfg',function(content){
var config = content.split(/\[.\]/).filter(Boolean);
config = config[parseInt(lang_id-1)].split(/\n/).filter(Boolean);
$.each(config,function(i,v){
eval(v);
})
$.holdReady(false);
})
$(function() {
// Close Message Dialog box
$('body').on('click', '#g_dialog_overlay .close_dialog', function(e) {
e.preventDefault();
close_global_dialog($(this).attr('instance'));
})
$('body').on('click', '#g-message-overlay', function(e) {
e.preventDefault();
close_global_dialog();
})
$('body').on('keyup', function(event) {
if (event.keyCode == 27 && $('#g_dialog_overlay').is(':visible')) {
close_global_dialog();
}
})
// $('
').appendTo('body')
})
// ERROR MESSAGE BOX
var global_dialog = function(element, params) {
var defaults = {
instance : $.now(),
instance_id : false,
type : 'confirm',
title : '',
useCss : false,
button : false,
width : false,
height : false,
maxWidth : false,
maxHeight : false,
class : false,
footer : true,
parentstyle: false,
elementstyle: false,
close_button : true,
on_init : function() {},
on_open : function(element, params) {}
}
var opt = $.extend(true, defaults, params);
if (opt.instance_id) {
opt.instance = opt.instance_id;
}
var holder = $('');
$dialog = holder.find('#g_dialog');
if (opt.close_button) {
holder.find('#g_dialog_header').append('close')
holder.find('#g_dialog_footer').append(''+global_dialog_close+'')
}
holder.attr('instance', opt.instance);
element.attr('instance', opt.instance);
if (opt.class) {
$dialog.attr('class', opt.class);
}
if (opt.button) {
if ($.isArray(opt['button'])) {
$.each(opt['button'], function(i,v) {
if(v['cond'] == undefined || v['cond']) {
_btn = $(''+v['title']+'');
$dialog.find('#g_dialog_footer').append(_btn);
eval_action(_btn, v, $dialog);
}
})
}
else {
_btn = $(''+opt['button']['title']+'');
$dialog.find('#g_dialog_footer').append(_btn);
eval_action(_btn, opt['button'], $dialog);
}
}
opt.on_init($dialog, params);
if (!opt.footer) {
$dialog.find('#g_dialog_footer').remove();
}
if (opt['width']) {
$dialog.css('width', opt.width);
$dialog.css('min-width', opt.width);
}
if (opt['height']) {
$dialog.css('height', opt.height);
$dialog.css('min-height', opt.height);
}
if (opt['maxWidth']) {
$dialog.css('max-width', opt.maxWidth);
}
if (opt['maxHeight']) {
$dialog.find('#g_dialog_content').css('max-height', opt.maxHeight);
$dialog.find('#g_dialog_content').addClass('overflow_scroll')
console.log($dialog.find('#g_dialog_content'))
}
$dialog.find('#g_dialog_header .title').html(opt.title);
try {
$dialog.find('#g_dialog_content').html(window.atou(opt.content));
}
catch {
$dialog.find('#g_dialog_content').html(opt.content);
}
if (opt['elementstyle']) {
$dialog.find('#g_dialog_content').attr('style', opt['elementstyle'])
}
// if (!opt.exted) {
// holder.css('display','flex');
// $dialog.css('display','flex');
// }
// else {
// holder.append($dialog);
// }
$('body').append(holder)
opt.on_open($dialog, params);
}
var eval_action = function(element,config,dialog) {
var _this = element;
$.each(eval(config['eval']), function(i,v) {
_this.attr(i,v.replace(/\#this\#/g, dialog));
})
return _this;
}
var close_global_dialog = function(instance) {
if (instance) {
$dialog = $('body').find('#g_dialog_overlay[instance='+instance+']');
}
else {
$dialog = $('body').find('#g_dialog_overlay:last-of-type')
}
var _class = $dialog.find('#g_dialog').attr('class') || false;
$dialog.fadeOut(function() {
$(this).remove();
});
$('body').trigger('dialog_is_closed',[instance, _class]);
}