PageSourceSearch

https://sis.glemt.org.br/Tema/Vendor/Potencia/2.0/assets/javascript/pixel-padrao.js?v=13

js glemt.org.br collected 2026-09-27 08:15:25 UTC 38,565 bytes, 1,355 lines download raw bytes

1/**
2 *
3 *    Sappiens Framework
4 *    Copyright (C) 2014, BRA Consultoria
5 *
6 *    Website do autor: www.braconsultoria.com.br/sappiens
7 *    Email do autor: [email protected]
8 *
9 *    Website do projeto, equipe e documentação: www.sappiens.com.br
10 *
11 *    Este programa é software livre; você pode redistribuí-lo e/ou
12 *    modificá-lo sob os termos da Licença Pública Geral GNU, conforme
13 *    publicada pela Free Software Foundation, versão 2.
14 *
15 *    Este programa é distribuído na expectativa de ser útil, mas SEM
16 *    QUALQUER GARANTIA; sem mesmo a garantia implícita de
17 *    COMERCIALIZAÇÃO ou de ADEQUAÇÃO A QUALQUER PROPÓSITO EM
18 *    PARTICULAR. Consulte a Licença Pública Geral GNU para obter mais
19 *    detalhes.
20 *
21 *    Você deve ter recebido uma cópia da Licença Pública Geral GNU
22 *    junto com este programa; se não, escreva para a Free Software
23 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
24 *    02111-1307, USA.
25 *
26 *    Cópias da licença disponíveis em /Sappiens/_doc/licenca
27 *
28 */
29
30var notificadas = new Array();
31
32sisRedirAlterar();
33
34function sisSpa(p) {
35    $("#sisPaginaAtual").val(p);
36}
37function replaceContentElem(e) {
38    $(e).fadeToggle('slow', function() {
39        $(e).html('');
40    });
41}
42function setContentElem(e, c) {
43    $(e).html(c);
44    $(e).fadeIn('slow');
45}
46
47function sisSvo(q, t) {
48    $("#sisQuemOrdena").val(q);
49}
50
51function showHiddenFilters() {
52
53    var caretClass = $("#caretFilter").attr('class');
54
55    $("#caretFilter").removeAttr("class");
56
57    if (caretClass === "fa fa-caret-down")
58        $("#caretFilter").addClass('fa fa-caret-up');
59    else if (caretClass === "fa fa-caret-up")
60        $("#caretFilter").addClass('fa fa-caret-down');
61    else
62        return false;
63
64    if ($(".showHidden").hasClass('hidden')) {
65        $(".showHidden").removeClass("hidden");
66    } else {
67        $(".showHidden").addClass("hidden");
68    }
69//    $(".showHidden").slideToggle();
70//    $(".showHidden").removeClass("hidden");
71}
72
73$(document).ready(function() {
74
75    $('#sisBuscaGridA, #sisBuscaGridB').on('itemRemoved', function(event) {
76        sisFiltrarPadrao('sisBuscaGeral=' + $(this).val());
77
78        if (!$(".showHidden").hasClass('hidden')) {
79            $(".showHidden").addClass("hidden");
80        }
81    });
82
83    $('#sisBuscaGridA, #sisBuscaGridB').on('itemAdded', function(event) {
84        sisFiltrarPadrao('sisBuscaGeral=' + $(this).val());
85
86        if (!$(".showHidden").hasClass('hidden')) {
87            $(".showHidden").addClass("hidden");
88        }
89    });
90
91    $("#notificationsMain").click(function(event) {
92        sisAtualizaNotificacoes();
93    });
94
95});
96/* CRUD BÁSICO */
97
98function sisRedirAlterar() {
99
100    var qS = document.location.search;
101
102    if (qS.search(/\?[sisRedir]{8}/) !== -1 && qS.search(/\&[id=]{3}[0-9]{1,}/) !== -1) {
103
104        var id = qS.replace(/\?[sisRedir=]{9}\w{1,}\&[id=]{3}/, '');
105        var param = new Array();
106
107        param['sisReg[]'] = parseInt(id);
108        sisAlterarLayoutPadrao(param);
109
110    } else {
111
112        return true;
113    }
114
115}
116
117/* FUNÇÕES ESPECIAIS */
118function cKupdate() {
119
120    try {
121        for (instance in CKEDITOR.instances) {
122            CKEDITOR.instances[instance].updateElement();
123        }
124    } catch (e)
125    {
126    }
127}
128
129function sisSerialize(container)
130{
131    //return new FormData( $(container)[0] );
132    cKupdate();
133    return $(container).serialize();
134}
135
136function sisSerializeUpload(container)
137{
138    cKupdate();
139    return new FormData($(container)[0]);
140}
141
142/* FUNÇÔES DEFAULT */
143function sisMsgFailPadrao()
144{
145    sisSetCrashAlert('Erro', 'Houve um erro ao enviar sua solicitação!<br>Tente novamente mais tarde.');
146}
147
148function sisContaCheck()
149{
150    var abv = document.formGrid;
151    var conta = 0;
152
153    if ($("#formGrid").length < 1) {
154        return 0;
155    }
156
157    for (i = 0; i < abv.elements.length; i++) {
158        if (abv.elements[i].name === 'sisReg' || abv.elements[i].name === 'sisReg[]') {
159            if (abv.elements[i].type === "checkbox" || abv.elements[i].type === "radio") {
160                if (abv.elements[i].checked === true) {
161                    conta += 1;
162                }
163            }
164        }
165    }
166
167    return conta;
168}
169
170function sisDescartarPadrao(form)
171{
172    var cod = $("#" + form + " #cod").val();
173
174    if ($('#sisTab' + cod + 'Global').length > 0) {
175        $('#sisTab' + cod + 'Global').remove();
176    } else {
177        $('#panel' + form).remove();
178    }
179}
180
181function sisDescartarAbas()
182{
183    $("#sisContainerManu").empty();
184}
185
186/* FILTRO */
187function sisFiltrarPadrao(p, container) {
188
189    if (!p) {
190        $('#sisBuscaGridA').tagsinput('removeAll');
191        $('#sisBuscaGridB').tagsinput('removeAll');
192    }
193
194    $.ajax({type: "get", url: "?acao=filtrar", data: p, dataType: "json"}).done(function(ret) {
195        if (ret.sucesso === "true") {
196            $("#sisContainerGrid").html(ret.retorno);
197        } else {
198            sisSetCrashAlert('Erro', ret.retorno);
199        }
200    }).fail(function()
201    {
202        sisMsgFailPadrao();
203    });
204}
205
206function sisFiltrarProcessos(p, container) {
207    $.ajax({type: "get", url: "?acao=filtrar", data: p, dataType: "json"}).done(function(ret) {
208        if (ret.sucesso === "true") {
209            $("#" + container).html(ret.retorno);
210        } else {
211            sisSetCrashAlert('Erro', ret.retorno);
212        }
213    }).fail(function()
214    {
215        sisMsgFailPadrao();
216    });
217}
218
219function sisFiltrarAba(p, container, tab, conteudo) {
220    $.ajax({type: "get", url: "?acao=filtrar" + tab, data: p, dataType: "json"}).done(function(ret) {
221        if (ret.sucesso === "true") {
222            $("#" + container).html(ret.retorno);
223        } else {
224            $("#" + container).html(conteudo);
225            sisSetCrashAlert('Erro', 'Ocorreu um erro ao filtrar!');
226        }
227    }).fail(function()
228    {
229        $("#" + container).html(conteudo);
230        sisMsgFailPadrao();
231    });
232}
233
234function sisMarcarTodos()
235{
236    if ($("#sisContainerGrid").find(':checkbox').length < 1) {
237        sisSetAlert('false', 'nenhum resultado encontrado na grid!');
238    } else {
239        $("#sisContainerGrid").find(':checkbox').prop('checked', true);
240    }
241}
242
243function sisDesmarcarTodos()
244{
245    if ($("#sisContainerGrid").find(':checkbox').length < 1) {
246        sisSetAlert('false', 'nenhum resultado encontrado na grid!');
247    } else {
248        $("#sisContainerGrid").find(':checkbox').prop('checked', false);
249    }
250}
251
252/*BOTOES*/
253function botoesPadrao(nomeForm, acao)
254{
255    $("#" + nomeForm + " #sisSalvarEContinuar").prop('disabled', acao);
256    $("#" + nomeForm + " #sisSalvar").prop('disabled', acao);
257    $("#" + nomeForm + " #sisDescartar").prop('disabled', acao);
258}
259
260function botoesPadraoSite(nomeForm, acao)
261{
262    $("#sisSalvarEContinuar").prop('disabled', acao);
263    $("#sisSalvar").prop('disabled', acao);
264    $("#sisDescartar").prop('disabled', acao);
265    $("[data-dismiss=modal]").prop('disabled', acao);
266}
267
268/* CADASTRO */
269function sisCadastrarLayoutPadrao(param) {
270    if (!param) {
271        param = {};
272    }
273    $.ajax({type: "get", url: "?acao=cadastrar", data: param, dataType: "json"}).done(function(ret) {
274        $("#sisContainerManu").html(ret.retorno);
275    }).fail(function()
276    {
277        sisMsgFailPadrao();
278    });
279}
280
281function sisCadastrarPadrao(nomeForm, upload) {
282
283    botoesPadrao(nomeForm, true);
284
285    var cod = $("#" + nomeForm + " #cod").val();
286
287    if (upload === true) {
288        var config = {type: "post", url: "?acao=cadastrar", dataType: "json", data: sisSerializeUpload("#" + nomeForm), processData: false, contentType: false};
289    } else {
290        var config = {type: "post", url: "?acao=cadastrar", dataType: "json", data: sisSerialize("#" + nomeForm)};
291    }
292
293    $.ajax(config).done(function(ret) {
294
295        if (ret.sucesso === 'true') {
296
297            sisSetAlert('true', 'Registro cadastrado com sucesso!');
298
299            botoesPadrao(nomeForm, false);
300
301            if ($('#sisTab' + cod + 'Global').length < 1) {
302                $("#sisContainerManu").empty();
303            }
304
305            sisFiltrarPadrao('');
306        } else {
307            botoesPadrao(nomeForm, false);
308            sisSetCrashAlert('Erro', ret.retorno);
309        }
310    }).fail(function()
311    {
312        botoesPadrao(nomeForm, false);
313        sisMsgFailPadrao();
314    });
315}
316
317/* ALTERACAO */
318
319function sisAlterarLayoutPadrao(param) {
320
321    if (!param) {
322        param = '';
323    } else {
324        var v;
325        for (v in param) {
326            param += '&' + v + '=' + param[v];
327        }
328    }
329
330    if (sisContaCheck() < 1 && !param) {
331        sisSetAlert('false', 'Nenhum registro selecionado.');
332    } else {
333
334        $.ajax({type: "get", url: "?acao=alterar" + param, data: sisSerialize("#formGrid"), dataType: "json"}).done(function(ret) {
335            $("#sisContainerManu").html(ret.retorno);
336        }).fail(function()
337        {
338            sisMsgFailPadrao();
339        });
340    }
341}
342
343function sisAlterarPadrao(nomeForm, upload) {
344
345    botoesPadrao(nomeForm, true);
346    var cod = $("#" + nomeForm + " #cod").val();
347
348    if (upload === true) {
349        var config = {type: "post", url: "?acao=alterar", dataType: "json", data: sisSerializeUpload("#" + nomeForm), processData: false, contentType: false};
350    } else {
351        var config = {type: "post", url: "?acao=alterar", dataType: "json", data: sisSerialize("#" + nomeForm)};
352    }
353
354    $.ajax(config).done(function(ret) {
355        if (ret.sucesso === 'true') {
356
357            sisSetAlert('true', 'Registro alterado com sucesso!');
358
359            botoesPadrao(nomeForm, false);
360
361            if ($('#sisTab' + cod + 'Global').length < 1) {
362                $("#panel" + nomeForm).remove();
363            }
364
365            sisFiltrarPadrao('');
366        } else {
367            botoesPadrao(nomeForm, false);
368            sisSetCrashAlert('Erro', ret.retorno);
369        }
370    }).fail(function()
371    {
372        botoesPadrao(nomeForm, false);
373        sisMsgFailPadrao();
374    });
375}
376
377/* REMOÇÃO */
378
379function sisRemoverPadrao()
380{
381    var conta = sisContaCheck();
382
383    if (conta === 0) {
384        sisSetAlert('false', 'Nenhum registro selecionado.');
385        return;
386    }
387
388    var plural = (conta === 1) ? '' : 's';
389    var msg = 'Tem certeza que deseja apagar este' + plural + ' ' + conta + ' registro' + plural + '?';
390
391    sisSetDialog(msg, sisRemovePadrao);
392}
393
394function sisRemovePadrao() {
395
396    $.ajax({type: "get", url: "?acao=remover", data: sisSerialize("#formGrid"), dataType: "json"}).done(function(ret) {
397
398        var se = parseInt(ret.selecionados);
399        var ap = parseInt(ret.apagados);
400        var ms = ret.retorno;
401        var possivelMensagem = (ms !== '' && ms !== 'undefined' && ms !== undefined) ? " Motivo:\n" + ms : ms;
402
403        if (ap > 0) {
404
405            if (ap !== se) {
406
407                var msgPlural = (ap === 1) ? 'apenas foi removido com sucesso' : 'foram remov
407idos com sucesso';
408                var msgRemovidos = "Entre os " + se + " registros selecionados " + ap + " " + msgPlural + ".\n\n";
409                var msg = "Atenção, nem todos os registros puderam ser removidos!\n\n" + msgRemovidos + possivelMensagem;
410                sisSetCrashAlert('Erro', msg);
411                sisFiltrarPadrao('');
412            } else {
413
414                var plural = (ap === 1) ? '' : 's';
415                var msg = 'Registro' + plural + ' removido' + plural + ' com sucesso!';
416                sisSetAlert('true', msg);
417                sisFiltrarPadrao('');
418            }
419        } else {
420
421            var msg = "Atenção nenhum registro selecionado pode ser removido!\n\n" + possivelMensagem;
422            sisSetCrashAlert('Erro', msg);
423        }
424
425    }).fail(function()
426    {
427        sisMsgFailPadrao();
428    });
429}
430
431/* VISUALIZAÇÃO */
432
433function sisVisualizarPadrao()
434{
435    if (sisContaCheck() < 1) {
436
437        sisSetAlert('false', 'Nenhum registro selecionado.');
438
439    } else {
440
441        $.ajax({type: "get", url: "?acao=visualizar", data: sisSerialize("#formGrid"), dataType: "json"}).done(function(ret) {
442            $("#sisContainerManu").html(ret.retorno);
443        }).fail(function()
444        {
445            sisMsgFailPadrao();
446        });
447    }
448}
449
450/*UPLOAD*/
451function sisUploadMultiplo(id) {
452    var obj = document.getElementById(id);
453    var html = "";
454
455    if ('files' in obj) {
456        if (obj.files.length === 0) {
457            html = "Nenhum arquivo selecionado!";
458        } else {
459            for (var i = 0; i < obj.files.length; i++) {
460                html += "<br><strong>" + (i + 1) + " - </strong>";
461                var file = obj.files[i];
462                if ('name' in file) {
463                    html += file.name + " - ";
464                }
465                if ('size' in file) {
466                    html += file.size + " bytes";
467                }
468            }
469        }
470    } else {
471        if (obj.value === "") {
472            html = "Nenhum arquivo selecionado!";
473        } else {
474            html += "Seu navegador não suporta este recurso!";
475        }
476    }
477
478    $("#sisUploadMultiploLista" + id).html(html);
479}
480
481/*MASTER DETAIL*/
482
483function sisAddMasterDetail(container) {
484
485    var conf = $.parseJSON($("#sisMasterDetailConf" + container).val().replace(/'/g, '"'));
486
487    var atual = $("#sisMasterDetail" + container + " div[id^='sisMasterDetailIten" + container + "']").length - 1; //Ignorando o campo modelo
488
489    if (conf.addMax !== 0 && atual >= conf.addMax) {
490        sisSetAlert('', 'Não foi possível adicionar, pois este grupo permite no máximo ' + conf.addMax + ' itens');
491    } else {
492        var novoCoringa = Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 10);
493
494        var modeloHtml = converteModelo($("#sisMasterDetailModeloHtml" + container).html(), String(conf.coringa), novoCoringa);
495        var modeloJs = converteModelo($("#sisMasterDetailModeloJS" + container).html(), String(conf.coringa), novoCoringa);
496        $("#sisMasterDetailAppend" + container).append(modeloHtml);
497
498        var novoModelo = modeloJs.replace(/&amp;/g, '&');
499        eval(novoModelo);
500    }
501}
502
503function converteModelo(modelo, coringa, novoCoringa) {
504
505    var modeloConvertido = modelo.replace(new RegExp(coringa, "g"), novoCoringa);
506    return modeloConvertido;
507}
508
509function sisRemoverMasterDetail(container, id) {
510
511    var conf = $.parseJSON($("#sisMasterDetailConf" + container).val().replace(/'/g, '"'));
512
513    var atual = $("#sisMasterDetail" + container + " div[id^='sisMasterDetailIten" + container + "']").length - 1; //Ignorando o campo modelo
514
515    if (atual <= conf.addMin) {
516        sisSetAlert('', 'Não foi possível remover, pois este grupo requer no mínimo ' + conf.addMin + ' itens');
517    } else {
518        $("#sisMasterDetailIten" + container + id).remove();
519    }
520}
521
522// DIALOG
523function sisSetDialog(msg, actionTrue)
524{
525
526    bootbox.confirm({
527        message: msg,
528        callback: function(result) {
529            if (result == true) {
530                actionTrue();
531            } else {
532                sisSetAlert('', 'Sua solicitação foi cancelada!');
533            }
534        },
535        className: "bootbox-sm"
536    });
537
538}
539// ALERT
540function sisSetAlert(a, b, c)
541{
542
543    if (c == 'static') {
544        var time = 9999 * 9999;
545    } else {
546        var time = 8000;
547    }
548
549    if (a == 'true' && b == undefined) {
550        var b = "Salvo com sucesso!";
551    } else if (a == 'false' && b == undefined) {
552        var b = "Problemas na execução. Tente novamente mais tarde...";
553    }
554
555    if (a == 'false') {
556        $.growl.error({title: 'Oops!', message: b, size: 'large', duration: time});
557    } else if (a == 'true') {
558        $.growl.notice({title: 'Sucesso!', message: b, size: 'large', duration: time});
559    } else if (a == 'warning') {
560        $.growl.warning({title: 'Atenção!', message: b, size: 'large', duration: time});
561    } else if (a == '') {
562        $.growl({title: 'Humm?!', message: b, size: 'large', duration: time});
563    }
564
565}
566
567function sisSetCrashAlert(a, b)
568{
569    $('#modal-titulo').html(a);
570    $('#modal-descricao').html(b);
571    $('#modal-msg').modal();
572
573}
574
575/* FILTROS */
576function sisChangeFil(container, tab)
577{
578    if (arguments.length === 1 && (container === 'n' || container === 'e' || container === 'o')) {
579        var origemRel = container;
580        var camposRel = $('#sisFormFiltro').serializeArray();
581        var contN = 0;
582        var contE = 0;
583        var contO = 0;
584        $.each(camposRel, function (pos, campo) {
585            if ($('#' + campo.name).attr('type') !== 'hidden' && campo.value !== '') {
586                var vRel = $('#' + campo.name).val();
587                var tipoRel = $('#' + campo.name).attr('name').substr(0, 1);
588                if (tipoRel === 'n' && vRel !== '') {
589                    contN++;
590                }
591                if (tipoRel === 'e' && vRel !== '') {
592                    contE++;
593                }
594                if (tipoRel === 'o' && vRel !== '') {
595                    contO++;
596                }
597            }
598        });
599        if (origemRel === 'n') {
600            $('#sisBadgeN').removeClass('tachado');
601            $('#sisBadgeE').addClass('tachado');
602            $('#sisBadgeO').addClass('tachado');
603        } else if (origemRel === 'e') {
604            $('#sisBadgeN').addClass('tachado');
605            $('#sisBadgeE').removeClass('tachado');
606            $('#sisBadgeO').addClass('tachado');
607        } else if (origemRel === 'o') {
608            $('#sisBadgeN').addClass('tachado');
609            $('#sisBadgeE').addClass('tachado');
610            $('#sisBadgeO').removeClass('tachado');
611        }
612        if (contN > 0) {
613            $('#sisBadgeN').html(contN).removeClass('hidden');
614        } else {
615            $('#sisBadgeN').html(contN).addClass('hidden');
616        }
617        if (contE > 0) {
618            $('#sisBadgeE').html(contE).removeClass('hidden');
619        } else {
620            $('#sisBadgeE').html(contE).addClass('hidden');
621        }
622        if (contO > 0) {
623            $('#sisBadgeO').html(contO).removeClass('hidden');
624        } else {
625            $('#sisBadgeO').html(contO).addClass('hidden');
626        }
627        sisFiltrarPadrao(parametrosFiltro(origemRel, null, ''));
628        $('#sisBuscaGridA').tagsinput('removeAll');
629        $('#sisBuscaGridB').tagsinput('removeAll');
630        return;
631    }
632    var tabNorm = (tab === void 0 || tab === null) ? '' : tab;
633    var conteudo = $("#" + container).html();
634    $("#" + container).html('<i class="fa fa-refresh fa-spin"></i> carregando...');
635    sisFiltrarAba(parametrosFiltro('n', container, tabNorm), container, tabNorm, conteudo);
636}
637
638function sisOpFiltro(nomeCampo, tipo, origem)
639{
640    $("#sho" + nomeCampo).val(tipo);
641
642    $("#sisIcFil" + nomeCampo).html('&nbsp;&nbsp;' + tipo);
643
644    if ($("#" + nomeCampo).val()) {
645        sisFiltrarPadrao(parametrosFiltro(origem, null, ''));
646    }
647}
648
649function parametrosFiltro(origem, container, tab)
650{
651    var ts = (tab === void 0 || tab === null) ? '' : tab;
652    var campos = $('#sisFormFiltro' + ts).serializeArray();
653
654    var par = [];
655
656    par.push({
657        name: 'sisOrigem',
658        value: origem
659    });
660
661    par.push({
662        name: 'tab',
663        value: ts
664    });
665
666    var formSel = '#sisFormFiltro' + ts;
667    var pushCampoFiltro = function (nome, valorBruto) {
668        var valor = valorBruto;
669        if ($.isArray(valor)) {
670            valor = valor.length ? valor.join(',') : '';
671        }
672        if (valor === undefined || valor === null || valor === '') {
673            return;
674        }
675        par.push({name: nome, value: String(valor)});
676        par.push({name: 'sho' + nome, value: $('#sho' + nome).val()});
677        par.push({name: 'sha' + nome, value: $('#sha' + nome).val()});
678    };
679    var nomeJaEnviado = function (nome) {
680        var i;
681        for (i = 0; i < par.length; i++) {
682            if (par[i].name === nome) {
683                return true;
684            }
685        }
686        return false;
687    };
688    $.each(campos, function (pos, campo) {
689        var nome = campo.name;
690        var p = nome.substr(0, 1);
691        var h = nome.substr(0, 4);
692        if (!(p === origem || h === 'sho' + origem || h === 'sha' + origem)) {
693            return;
694        }
695        if (h === 'sho' + origem || h === 'sha' + origem) {
696            return;
697        }
698        var qn = nome.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
699        var $field = $(formSel + ' [name="' + qn + '"]').first();
700        var ty = $field.length ? $field.attr('type') : '';
701        if (ty === 'hidden' && p !== origem) {
702            return;
703        }
704        var valor = campo.value;
705        if ($field.length && ty !== 'hidden') {
706            var v2 = $field.val();
707            if (v2 !== undefined && v2 !== null && v2 !== '') {
708                valor = v2;
709            }
710        }
711        pushCampoFiltro(nome, valor);
712    });
713    $(formSel + ' select[name]').each(function () {
714        var nome = $(this).attr('name');
715        if (!nome) {
716            return;
717        }
718        var p = nome.substr(0, 1);
719        var h = nome.substr(0, 4);
720        if (p !== origem || h === 'sho' + origem || h === 'sha' + origem) {
721            return;
722        }
723        if (nomeJaEnviado(nome)) {
724            return;
725        }
726        pushCampoFiltro(nome, $(this).val());
727    });
728
729    return par;
730}
731
732//DEPENDENCIA - INICIO
733function sisCarregaDependencia(ur, fo, co, id, me, cl, nc, fc)
734{
735    var par = {'m': me, 'c': cl, 'r': id, 'n': nc};
736
737    if (fc) {
738        var pE = fc(fo);
739        var v;
740        for (v in pE) {
741            par[v] = pE[v];
742        }
743    }
744
745    $.ajax({type: "get", url: ur, data: par, dataType: "json"}).done(function(ret) {
746
747        if (ret.sucesso === 'true') {
748            $("#" + fo + " #" + co + "").html(ret.retorno);
749        } else {
750            sisSetCrashAlert('Erro', ret.retorno);
751        }
752    }).fail(function()
753    {
754        sisMsgFailPadrao();
755    });
756}
757
758//DEPENDENCIA - FIM
759
760function chNxt(a, b, c, d)
761{
762    var aa = $(a).val();
763    $.ajax({type: "get", url: "?acao=" + d + "&a=" + aa + "&b=" + c, dataType: "json", beforeSend: function() {
764            $(b).html('<i class="fa fa-refresh fa-spin"></i>');
765        }}).done(function(ret) {
766        $(b).html(ret.retorno);
767        $("#" + c).val(ret.retorno);
768    }).fail(function() {
769        sisMsgFailPadrao();
770    });
771}
772
773function chChosen(a, b, c)
774{
775    var aa = $(a).val();
776    $.ajax({type: "get", url: "?acao=" + c + "&a=" + aa, dataType: "json", beforeSend: function() {
777            $(b).html('<i class="fa fa-refresh fa-spin"></i>');
778        }}).done(function(ret) {
779        $(b).html(ret.retorno);
780    }).fail(function() {
781        sisMsgFailPadrao();
782    });
783}
784
785function sisImprimir()
786{
787    var queryString = ($('#sisQueryString').val() ? '&sisOrigem=n&' + $('#sisQueryString').val() : '');
788    window.open("?acao=imprimir&sisModoImpressao=1" + queryString, 'imprimir');
789}
790
791function sisSalvarCSV()
792{
793    var queryString = ($('#sisQueryString').val() ? '&sisOrigem=n&' + $('#sisQueryString').val() : '');
794    window.open("?acao=salvarCSV&sisModoImpressao=1" + queryString, 'imprimircsv');
795}
796
797function sisSetOrientacaoPDF()
798{
799    $('#sisModalPDF').modal();
800}
801
802function sisSalvarPDF(orientacao) {
803
804    if (typeof orientacao === 'undefined') {
805        sisSetOrientacaoPDF();
806    } else {
807
808        $('#closePDF').click();
809
810        var queryString = ($('#sisQueryString').val() ? '&sisOrigem=n&' + $('#sisQueryString').val() : '');
811
812        var ifr = $('<iframe/>', {
813            id: 'iframeDownload',
814            name: 'iframeDownload',
815            src: '?acao=salvarPDF&sisModoImpressao=1&orientacao=' + orientacao + queryString,
816            style: 'display:none',
817            load: function() {
818
819                var conteudo = $('#iframeDownload').contents().find('body').html();
820
821                try {
822                    if (conteudo.length > 0) {
823                        var ret = Array();
824                        ret['sucesso'] = 'false';
825                    } else {
826                        var ret = Array();
827                        ret['sucesso'] = 'true';
828                        ret['retorno'] = 'PDF gerado com sucesso!'
829                    }
830                } catch (fail) {
831                    var ret = Array();
832                    ret['sucesso'] = 'false';
833                }
834
835                if (ret['sucesso'] === 'false')
836                {
837                    sisSetAlert('false', ret['retorno']);
838                } else if (ret['sucesso'] === 'true')
839                {
840                    sisSetAlert('true', ret['retorno']);
841                } else
842                {
843                    sisSetAlert('false', ret['retorno']);
844                }
845            }
846        });
847
848        if ($('body').attr('name') !== "iframeDownload") {
849            $('body').append(ifr);
850        } else {
851            $('#iframeDownload').remove();
852            $('body').append(ifr);
853        }
854    }
855}
856function getPDF(url) {
857
858    var ifr = $('<iframe/>', {
859        id: 'iframeDownload',
860        name: 'iframeDownload',
861        src: url,
862        style: 'display:none',
863        load: function() {
864
865            var conteudo = $('#iframeDownload').contents().find('body').html();
866
867            try {
868                if (conteudo.length > 0) {
869                    var ret = Array();
870                    ret['sucesso'] = 'false';
871                } else {
872                    var ret = Array();
873                    ret['sucesso'] = 'true';
874                    ret['retorno'] = 'PDF gerado com sucesso!'
875                }
876            } catch (fail) {
877                var ret = Array();
878                ret['sucesso'] = 'false';
879            }
880
881            if (ret['sucesso'] === 'false')
882            {
883                sisSetAlert('false', ret['retorno']);
884            } else if (ret['sucesso'] === 'true')
885            {
886                sisSetAlert('true', ret['retorno']);
887            } else
888            {
889                sisSetAlert('false', ret['retorno']);
890            }
891        }
892    });
893
894    if ($('#iframeDownload').attr('name') !== "iframeDownload") {
895        $('body').append(ifr);
896    } else {
897        $('#iframeDownload').remove();
898        $('body').append(ifr);
899    }
900
901}
902
903function validaSenhaUser(campo, url)
904{
905    valor = campo.value;
906
907    if (valor.length >= 6 && valor.length <= 30) {
908        $.ajax({type: "post", url: url, dataType: "json", data: {'s': valor}, beforeSend: function() {
909                $('#iconFA').attr('class', 'fa fa-refresh form-control-feedback');
910                $('#iconFA').attr('title', 'Verificando autenticidade da senha.');
911            }}).done(function(ret) {
912
913            if (ret.sucesso === 'true') {
914                if (ret.retorno === 'true') {
915                    $('#iconFA').attr('class', 'fa fa-check-circle form-control-feedback');
916                    $('#iconFA').attr('title', 'Senha autêntica.');
917                } else {
918                    $('#iconFA').attr('class', 'fa fa-lock form-control-feedback');
919                    $('#iconFA').attr('title', 'Senha inválida.');
920                }
921            } else {
922                $('#iconFA').attr('class', 'fa fa-times-circle form-control-feedback');
923                $('#iconFA').attr('title', 'Sessão expirada! Faça login novamente para continuar...');
924            }
925        }).fail(function(event) {
926            $('#iconFA').attr('class', 'fa fa-check form-control-feedback');
927            $('#iconFA').attr('title', 'Não pudemos verificar a autenticidade de sua senha no momento, mas o faremos ao salvar.');
928        });
929    }
930
931    return true;
932}
933
934function sisAddNotificacao(notificacoes) {
935
936    var notificationsNumber = $("#notificationsNumber");
937    var atual = parseInt(notificationsNumber.html());
938    var n = null;
939
940    if (isNaN(atual)) {
941        n = notificacoes;
942    } else {
943        n = (notificacoes + atual);
944    }
945
946    notificacoesNaoLidas = n;
947    notificationsNumber.html(n);
948
949    var obj = $('title');
950    var title = obj.html();
951
952    if (title.search(/\([0-9]{1,}\)/) !== -1) {
953        obj.html(title.replace(/\([0-9]{1,}\)/, "(" + n + ")"));
954    } else {
955        obj.prepend("(" + n + ") ");
956    }
957
958    return true;
959}
960
961function limpaNotificacoes() {
962
963    var obj = $('title');
964    var title = obj.html();
965
966    if (title.search(/\s\([0-9]{1,}\)/) !== -1) {
967        obj.html(title.replace(/\s\([0-9]{1,}\)/, ""));
968    }
969
970    $("#notificationsNumber").html('');
971
972    return true;
973}
974
975function sisAtualizaNotificacoes() {
976
977    var notificationDiv = $("#main-navbar-notifications");
978
979    $.ajax({type: "post", url: "?acao=getNotificacoes", data: {'target': 'notificationBar'}, dataType: "json", beforeSend: function() {
980
981            notificationDiv.html("");
982
983        }}).done(function(data) {
984        if (data.sucesso === "true") {
985            limpaNotificacoes();
986            notificationDiv.html(data.retorno);
987        } else {
988            sisSetAlert('false', "Falha ao carregar suas notificações.");
989        }
990    });
991}
992
993function acessaNotificacao(id, url) {
994
995    $.ajax({type: "post", url: "?acao=getNotificacoes", data: {acao: 'limpaNotificacao', id: id}, dataType: "json"}).done(function(data) {
996        document.location.href = url;
997    });
998
999}
1000
1001function getNotificacoesAlternativo() {
1002
1003    console.log("Using standard xhr polling to request notifications.");
1004
1005    getNotificacoesAjax();
1006
1007    // setInterval(function () {
1008    //     getNotificacoesAjax();
1009    // }, 60000);
1010
1011}
1012
1013function getNotificacoesAjax() {
1014
1015    $.ajax({type: "post", url: "?acao=getNotificacoes", data: {acao: 'getNumeroNotificacoes'}, dataType: "json"}).done(function(ret) {
1016
1017        if (ret.sucesso === 'true') {
1018
1019            var notificar = array_diff(notificadas, ret.retorno).length;
1020
1021            if (notificar > 0) {
1022
1023                notificadas = (ret.retorno);
1024                sisAddNotificacao(notificar);
1025            }
1026        }
1027
1028    }).fail(function(event) {
1029        console.log(event);
1030    });
1031
1032
1033}
1034function array_diff(array1, array2) {
1035
1036    var diff = [];
1037    diff = $.grep(array2, function(el) {
1038        return $.inArray(el, array1) === -1;
1039    });
1040
1041    return diff;
1042}
1043
1044/* CONFIGURAÇÃO DE COLUNAS DA GRID */
1045function sisSalvarColunasDinamicas(urlBase, moduloCod)
1046{
1047    var config = {type: "get", url: urlBase + 'Ext/Remoto/colunas_grid/?moduloCod=' + moduloCod, dataType: "json",
1048        data: $("#formGrid").serialize()};
1049
1050    $.ajax(config).done(function(ret) {
1051
1052        if (ret.sucesso === 'true') {
1053
1054            sisSetAlert('true', 'Configuração de colunas da grid aletarda com sucesso!');
1055
1056            sisFiltrarPadrao('');
1057        } else {
1058            sisSetCrashAlert('Erro', ret.retorno);
1059        }
1060    }).fail(function()
1061    {
1062        sisMsgFailPadrao();
1063    });
1064}
1065
1066/* CONFIGURAÇÃO DE COLUNAS DA GRID */
1067
1068/* ALTERAR O NÙMERO DE LINHAS */
1069function sisAlterarLinhas(urlBase, moduloCod)
1070{
1071    var linhas = $("#sisAlteraLinhas").val();
1072
1073    var config = {type: "get", url: urlBase + 'Ext/Remoto/linhas_grid/', dataType: "json",
1074        data: {'qLinhas': linhas, 'moduloCod': moduloCod}};
1075
1076    $.ajax(config).done(function(ret) {
1077
1078        if (ret.sucesso === 'true') {
1079
1080            sisSetAlert('true', 'Número de linhas da grid aletardo com sucesso!');
1081
1082            sisFiltrarPadrao('');
1083        } else {
1084            sisSetCrashAlert('Erro', ret.retorno);
1085        }
1086    }).fail(function()
1087    {
1088        sisMsgFailPadrao();
1089    });
1090}
1091/* ALTERAR O NÙMERO DE LINHAS */
1092
1093/* CONFIGURAÇÃO PARA SALVAMENTO DO FILTRO DA GRID */
1094function sisSalvarFiltro(urlBase, moduloCod)
1095{
1096    var nome = $("#sisSalvarFiltroNome").val();
1097    var titulo = $("#sisSalvarFiltroTitulo").val();
1098    var colunas = $("#sisGridListaColunas").val();
1099    var queryString = $("#sisQueryString").val();
1100
1101    if (nome === '') {
1102        alert('O campo "nome do filtro" deve ser informado corretamente!"');
1103        return;
1104    }
1105
1106    var config = {type: "get", url: urlBase + 'Ext/Remoto/filtro/?moduloCod=' + moduloCod, dataType: "json",
1107        data: {'nome': nome, 'titulo': titulo, 'colunas': colunas, 'qs': queryString}};
1108
1109    $.ajax(config).done(function(ret) {
1110
1111        if (ret.sucesso === 'true') {
1112
1113            sisSetAlert('true', 'Filtro salvo com sucesso!');
1114
1115            $("#sisFiltroSalvo").attr('carregado', 'N');
1116            sisCarregaFiltrosSalvos(urlBase, moduloCod);
1117
1118            $("#sisSalvarFiltroNome").val('');
1119            $("#sisSalvarFiltroTitulo").val('');
1120        } else {
1121            sisSetCrashAlert('Erro', ret.retorno);
1122        }
1123    }).fail(function()
1124    {
1125        sisMsgFailPadrao();
1126    });
1127
1128    $('#sisModalSalvarFiltro').modal('hide');
1129}
1130
1131/* CONFIGURAÇÃO PARA SALVAMENTO DO FILTRO DA GRID */
1132
1133
1134/* FILTROS SALVOS */
1135function sisCarregaFiltrosSalvos(urlBase, moduloCod) {
1136
1137    var carregado = $("#sisFiltroSalvo").attr('carregado');
1138
1139    if (carregado === 'N') {
1140
1141        var config = {type: "get", url: urlBase + 'Ext/Remoto/filtro/?acao=carregar&moduloCod=' + moduloCod, dataType: "json"};
1142
1143        $.ajax(config).done(function(ret) {
1144
1145            if (ret.sucesso === 'true') {
1146
1147                $("#bs-tabdrop-tab3").html(ret.retorno);
1148                $("#sisFiltroSalvo").attr('carregado', 'S');
1149            } else {
1150                sisSetCrashAlert('Erro', ret.retorno);
1151            }
1152        }).fail(function()
1153        {
1154            sisMsgFailPadrao();
1155        });
1156
1157    }
1158}
1159
1160/* FILTROS SALVOS */
1161
1162/* REMOVER FILTROS SALVOS */
1163
1164function sisRemoverFiltroSalvo(usuarioFiltroCod, urlBase, moduloCod) {
1165
1166    if (!confirm('Tem certeza que desja remover este filtro?')) {
1167        return;
1168    }
1169
1170    var config = {type: "get", url: urlBase + 'Ext/Remoto/filtro/?acao=remover', dataType: "json", data: {'cod': usuarioFiltroCod}};
1171
1172    $.ajax(config).done(function(ret) {
1173
1174        if (ret.sucesso === 'true') {
1175
1176            sisSetAlert('true', 'Filtro removido com sucesso!');
1177            $("#sisFiltroSalvo").attr('carregado', 'N');
1178            sisCarregaFiltrosSalvos(urlBase, moduloCod);
1179        } else {
1180            sisSetCrashAlert('Erro', ret.retorno);
1181        }
1182    }).fail(function()
1183    {
1184        sisMsgFailPadrao();
1185    });
1186}
1187
1188/* REMOVER FILTROS SALVOS */
1189
1190/* RELATORIOS INTERNOS */
1191function sisRelatorioInterno(acao, cod, temView, acaoView)
1192{
1193    if (!cod || !acao) {
1194
1195        alert('Dados insuficientes para a geração do relatório!');
1196
1197        return;
1198    }
1199
1200    if (temView && acaoView) {
1201
1202        $.ajax({
1203            type: "get",
1204            url: '?acao=' + acao,
1205            data: {
1206                'c': cod
1207            },
1208            dataType: "json"
1209        }).done(function(data) {
1210
1211            if (data.sucesso === 'true') {
1212
1213                $('#sisRelICod').val(cod);
1214                $('#sisRelIAcao').val(acaoView);
1215
1216                $('#sisRelatorioInternoConteudo').html(data.retorno);
1217
1218                $('#sisRelatorioInterno').modal('show');
1219            } else {
1220                alert('Houve um erro e o relatório não pode ser carregado.\n' + data.retorno);
1221            }
1222
1223        });
1224    } else {
1225
1226        window.open('?acao=' + acao, 'sisRelInterno');
1227    }
1228}
1229
1230function sisSubmitRelatorioInterno()
1231{
1232    var sisRelICod = $('#sisRelICod').val();
1233    var sisRelIAcao = $('#sisRelIAcao').val();
1234
1235    window.open('?acao=' + sisRelIAcao + '&cod=' + sisRelICod + '&' + $.param($
1235("#sisRelatorioInternoForm").serializeArray()), 'sisRelInterno');
1236
1237    $('#sisRelatorioInterno').modal('hide');
1238}
1239
1240function sisCadastrarSite(nomeForm, upload, url, redirect) {
1241    botoesPadraoSite(nomeForm, true);
1242
1243    function sucesso() {
1244
1245        botoesPadraoSite(nomeForm, true);
1246
1247        var cod = $("#" + nomeForm + " #cod").val();
1248
1249        if (upload === true) {
1250            var config = {type: "post", url: url, dataType: "json", data: sisSerializeUpload("#" + nomeForm), processData: false, contentType: false};
1251        } else {
1252            var config = {type: "post", url: url, dataType: "json", data: sisSerialize("#" + nomeForm)};
1253        }
1254
1255        $.ajax(config).done(function(ret) {
1256            if (ret.sucesso === 'true') {
1257                sisSetAlert('true', ret.retorno);
1258                setTimeout(3);
1259                window.location.href = redirect;
1260            } else {
1261                botoesPadraoSite(nomeForm, false);
1262                sisSetAlert('false', ret.retorno);
1263            }
1264        }).fail(function()
1265        {
1266            sisSetAlert('false', 'Ocorreu um erro, tente novamente');
1267            botoesPadraoSite(nomeForm, false);
1268        });
1269
1270    }
1271
1272    function falha(err) {
1273        botoesPadraoSite(nomeForm, false);
1274        $('#modal-login').modal();
1275    }
1276
1277    $.getJSON('/checar-sessao').done(sucesso).fail(falha);
1278}
1279
1280function sisCadastrarDeslogado(nomeForm, upload, url, redirect) {
1281    botoesPadrao(nomeForm, true);
1282
1283    var cod = $("#" + nomeForm + " #cod").val();
1284
1285    if (upload === true) {
1286        var config = {type: "post", url: url, dataType: "json", data: sisSerializeUpload("#" + nomeForm), processData: false, contentType: false};
1287    } else {
1288        var config = {type: "post", url: url, dataType: "json", data: sisSerialize("#" + nomeForm)};
1289    }
1290
1291    $.ajax(config).done(function(ret) {
1292        if (ret.sucesso === 'true') {
1293            sisSetAlert('true', ret.retorno);
1294            setTimeout(10);
1295            window.setTimeout(function() {
1296                window.location.href = redirect;
1297            }, 2000);
1298        } else {
1299            botoesPadrao(nomeForm, false);
1300            sisSetAlert('false', ret.retorno);
1301        }
1302    }).fail(function()
1303    {
1304        sisSetAlert('false', 'Ocorreu um erro, tente novamente');
1305        botoesPadrao(nomeForm, false);
1306    });
1307}
1308
1309function sisPopUp(url, nome)
1310{
1311    window.open(url, nome, "toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=no,width=900,height=450");
1312}
1313
1314function currentStylesheets() {
1315  var links = document.querySelectorAll("link");
1316  links = Array.prototype.slice.call(links);
1317
1318  return links
1319    .filter(function (l) {
1320      return l.rel == "stylesheet" && l.rel == "text/css";
1321    }).map(function (l) {
1322      return l.href;
1323    });
1324}
1325
1326function commaSeparated(arr) {
1327  return arr.join(",");
1328}
1329
1330$("[data-role=print]").on('click', function () {
1331    var target = $(this).data('target');
1332    var extraCss = commaSeparated(currentStylesheets());
1333    var cabecalho = $("#cabecalho-impressao").html();
1334
1335    if (!$(target).html().includes(cabecalho)) {
1336        $(target).prepend(cabecalho);
1337    }
1338
1339    $(target).printArea({
1340      extraCss: extraCss
1341    });
1342});
1343
1344$("[data-role=print-without-header]").on('click', function () {
1345    var target = $(this).data('target');
1346    var extraCss = commaSeparated(currentStylesheets());    
1347
1348    $(target).printArea({
1349      extraCss: extraCss
1350    });
1351});
1352
1353$(document).ready(function(){
1354    $('.mtelefone').mask("(99) 99999-9999");
1355});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.