';
if ($(this).hasClass('processed')) {
return true;
}
$(this).addClass('processed');
$(this).on('click', function (e) {
e.preventDefault();
$.ajax({
method: 'GET',
url: $(this).data('source')
}).done(function (msg) {
template = template.replace('{{aaa}}', msg);
$('#modal').html(template).modal('show');
revalidate_screen();
});
});
$('#modal').on('shown.bs.modal', function () {
revalidate_screen();
$(this).find('.datatable-anchor').focus();
});
});
$('.remote-popup').each((i, element) => {
if ($(element).hasClass('processed')) {
return true;
}
var instance = $(element);
var number = $(element).find('.remote-popup-number');
var button = $(element).find('button');
var label = $(element).find('.remote-popup-label');
searchRemote = (value = null) => {
if (value == null) {
value = $(number).val();
}
$.ajax({
method: 'GET',
url: $(instance).data('relay') + '/' + value
}).done(function (msg) {
$(label).val(msg.name);
}).fail(function () {
$(number).val('');
$(label).val('');
});
}
remotePopup = (source) => {
$($('#modal')).off();
var template = '
';
$.ajax({
method: 'GET',
url: source
}).done(function (msg) {
template = template.replace('{{aaa}}', msg);
$('#modal').html(template).modal('show');
$('#modal').on('hide.bs.modal', () => {
$(number).val($("#modal .selected").data('info').id);
searchRemote();
});
revalidate_screen();
});
};
$(button).on('click', () => {
remotePopup($(instance).data('relay') + '/' + $(instance).data('mode'));
});
$(number).on('keyup', (e) => {
if (e.keyCode == 112) {
remotePopup($(instance).data('relay') + '/' + $(instance).data('mode'));
}
});
$(number).on('focusout', () => {
console.log($(number).val() == '');
if ($(number).val() == '') {
$(label).val('');
return;
}
searchRemote($(number).val());
});
if($(number).val() != ''){
searchRemote( $(number).val() )
}
/*console.log($(element))
console.log(number);
console.log(button);
console.log(label);*/
$(element).addClass('processed');
});
$('.live-selectpicker').each(function () {
$(this).select2({
liveSearch: true
});
var object = $(this);
var source = definedOr($(this).data('source'), false);
var placeholder = definedOr($(this).data('placeholder'));
var filter_name = definedOr($(this).data('filter'));
var value = definedOr($(this).data('value'));
if (!source) {
return;
}
object.ajax = {
"url": source,
"data": function (params) {
var query = {
"name": params.value
}
}
};
/*$(this).ajaxSelectPicker({
ajax: {
url: source + "/combo_data",
method: 'GET',
data: {
nome: '{{{q}}}',
filter: function() {
if (filter_name === '') {
return ''
}
return $("[name='" + filter_name + "'] option:selected").val();
}
}
},
locale: {
emptyTitle: placeholder
},
preprocessData: function(data) {
var registers = [];
registers.push({
'value': '0',
'text': 'Selecione'
});
for (var i in data) {
registers.push({
'value': data[i].id,
'text': data[i].nome
});
}
return registers;
},
preserveSelected: true
});*/
});
/*===========================================*/
$('.icon-colapser').on('click', function () {
$(this).parent().parent().find('.panel-collapse').collapse('toggle');
});
/*$('form').each(function () {
$(this).validator();
});*/
$('.data-table').each(function () {
if ($(this).hasClass('processed')) {
return;
}
var wrapper = $(this);
var table_anchor = $(this).find('a');
var table = $(this).find('table');
var str = '
";
$(table).html(str);
var datatable = $(table).DataTable({
'createdRow': function (row, data) {
$(row).attr('data-info', JSON.stringify(data));
var content = '';
if (typeof $(table).data('update') != 'undefined') {
content += '
'
}
if (typeof $(table).data('delete') != 'undefined') {
content += '
'
}
if (typeof $(table).data('purge') != 'undefined') {
content += '
'
}
$(row).append('
' + content + ' | ');
},
"drawCallback": function (settings) {
if ($(wrapper).hasClass('selectable')) {
$($(table).find('tr')[1]).addClass('selected');
if (!$(wrapper).hasClass('processed')) {
$(table_anchor).focus();
}
}
},
"initComplete": function (settings, json) {
$(wrapper).addClass('processed');
},
processing: true,
serverSide: true,
searchDelay: 800,
ajax: {'url': table.data('source'), 'type': 'POST'},
columns: table.data('columns')
});
var search = $(this).find('input');
$(search).on('keyup', function (e) {
if (e.keyCode == 13) {
$(table_anchor).focus();
}
});
if ($(wrapper).hasClass('selectable')) {
$(this).on('contextmenu', 'tr', function () {
});
$(this).on('click', 'tr', function () {
$(table_anchor).focus();
if ($(this).hasClass('selected')) {
$(this).removeClass('selected');
return;
}
$(this).parent().find('tr').each(function () {
$(this).removeClass('selected');
});
$(this).addClass('selected');
});
$(table_anchor).on('focus', function () {
$('body').addClass('no-scroll');
$($(table).find('tr')[1]).addClass('selected');
});
$(table_anchor).on('focusout', function () {
$('body').removeClass('no-scroll');
$(table).find('tr').each((i, value) => {
$(value).removeClass('selected');
});
});
$(table_anchor).on('keypress', function (e) {
});
$(table_anchor).on('keyup', function (e) {
e.preventDefault();
if (e.keyCode == 70) {
$(search).focus();
}
if (e.keyCode == 112) {
ajax_call($(this).data('insert'));
}
if (e.keyCode == 113) {
id = $(table).find('.selected').data('info').id;
ajax_call($(this).data('insert') + '/' + id);
}
if (e.keyCode == 39 && e.ctrlKey) {
datatable.page('last').draw('page');
}
if (e.keyCode == 37 && e.ctrlKey) {
datatable.page('first').draw('page');
$($(table).find('tr')[1]).addClass('selected');
}
if (e.keyCode == 37) { //left
datatable.page('previous').draw('page');
$($(table).find('tr')[1]).addClass('selected');
}
if (e.keyCode == 39) { //right
datatable.page('next').draw('page');
$($(table).find('tr')[1]).addClass('selected');
}
if (e.keyCode == 38) { //up
var last = null;
var line = null;
$(table).find('tr').each((i, value) => {
if ($(value).hasClass('selected')) {
;
line = $(value)
return false;
}
last = $(value)
});
if ($(last).hasClass('header')) {
datatable.page('previous').draw('page');
}
if (line != null) {
$(line).removeClass('selected');
$(last).addClass('selected');
}
}
if (e.keyCode == 40) { //up
var next = false;
$(table).find('tr').each((i, value) => {
if (next) {
$(value).addClass('selected');
next = false;
return false;
}
if ($(value).hasClass('selected')) {
next = true;
$(value).removeClass('selected');
}
});
if (next) {
datatable.page('next').draw('page');
}
}
if (e.keyCode == 13) {
if ($(this).parent().parent().hasClass('modal-body')) {
$(this).parent().parent()
.parent().parent()
.parent().modal('hide');
//console.log($(this).parent().find('.selected').data('info'));
}
}
})
}
});
popover_help();
}
/*===========================================*/
$('.remote-element').each(function () {
var element = $(this);
var source = $(this).data('source');
var value = $(this).data('value');
$.ajax({
method: "GET",
url: source,
data: {value: value}
}).done(function (msg) {
$(element).html(msg);
});
});
//============================== Template Boot
/* Função de aparecer ou desaparecer o menu lateral */
$(".menu-toggle").on('click', function (e) {
e.preventDefault();
//e.preventPropagation();
$("#wrapper").toggleClass("toggled");
window.dispatchEvent(new Event('resize'));
});
if (user_config.menu_default) {
$('#wrapper').addClass('toggled');
window.dispatchEvent(new Event('resize'));
}
/* Função de aparecer ou desaparecer o menu lateral Secundário*/
$(".menu-toggle").on('contextmenu', function (e) {
e.preventDefault();
//e.preventPropagation();
alert("Configs maluquinhas");
window.dispatchEvent(new Event('resize'));
});
$('#side-menu').metisMenu();
revalidate_screen();
//============================== - MouseTrap
/* Atalho, Ao apertar alt, foca no primeiro ítem do menu lateral */
Mousetrap.bind('alt', function (e) {
e.preventDefault();
$('#side-menu li:first-child a').focus();
$("#wrapper").removeClass("toggled");
return false;
});
Mousetrap.bind("alt+1", function (e) {
$("#wrapper").addClass("toggled");
e.preventDefault();
});
Mousetrap.bind("alt+2", function (e) {
$('#menu-usuario > li').addClass('open');
$('#menu-usuario > li >a').focus();
e.preventDefault();
});
//Foca na barra de pesquisa
Mousetrap.bind("ctrl+shift+f", function (e) {
$(".search-nav input").focus();
});
function popover_help() {
$('input').each(function () {
Mousetrap($(this)[0]).bind('ctrl+f1', function () {
//alert(10);
});
})
}
Mousetrap.bind("ctrl+f1", function (e) {
//alert(10);
});
//============================== MenuSearch
var menu = Array();
$("#side-menu a").each(function () {
if ($(this).attr('href') !== "") {
menu.push("
" + $(this).parent().html() + "")
}
});
$("#side-second-menu").html(menu);
$(".search-nav >input").on("keyup", function () {
var search = $(this).val().toLowerCase();
if ($(this).val() === "") {
$("#side-menu").removeClass("hidden");
$("#side-second-menu").addClass("hidden");
} else {
$("#side-menu").addClass("hidden");
$("#side-second-menu").removeClass("hidden");
$("#side-second-menu li").each(function () {
if ($(this).html().toLowerCase().indexOf(search) > -1) {
$(this).removeClass('hidden');
} else {
$(this).addClass('hidden');
}
});
}
});
//============================== Ajax Page Handler
$('a').on('click', function (e) {
if (!user_config.allways_ajax) {
return true;
}
var target = $(this).attr('href');
var method = $(this).data('method');
if (typeof target === 'undefined' ||
target === '' ||
target === '#' ||
target == 'javascript:void(0)') {
return;
}
if (method === 'reload') {
return true;
}
e.preventDefault();
if (typeof method === 'undefined') {
method = 'GET';
}
$('#progress').removeClass('hidden');
$.ajax({
method: method,
url: target
}).done(function (msg) {
$('#content').html(msg);
history.replaceState({}, '', target);
}).fail(function () {
alert('fail');
}).always(function () {
$('#progress').addClass('hidden')
revalidate_screen();
});
});
function ajax_call(target) {
$('#progress').removeClass('hidden');
$.ajax({
method: 'GET',
url: target
}).done(function (msg) {
$('#content').html(msg);
history.replaceState({}, '', target);
}).fail(function () {
alert('fail');
}).always(function () {
$('#progress').addClass('hidden')
revalidate_screen();
});
}
function open_popup(source) {
var template = '
';
$.ajax({
method: 'GET',
url: source
}).done(function (msg) {
//alert(msg);
template = template.replace('{{aaa}}', msg);
$('#modal').html(template).modal('show');
revalidate_screen();
});
}