function f_datepicker(objeto, dateFormat = "dd/mm/yy"){ $(objeto).datepicker({ dateFormat: dateFormat, // See format options on parseDate firstDay: 1, // The first day of the week, Sun = 0, Mon = 1, ... isRTL: false, // True if right-to-left language, false if left-to-right showMonthAfterYear: false, // True if the year select precedes month, false for month then year yearSuffix: "", showWeek: true, // True to show week of the year, false to not show it changeYear: true/*, showOn: "button", buttonImage: "../../dqanet/imagens/calendario.png", buttonImageOnly: true, buttonText: "Select date"*/ }); $(objeto).removeClass(); $(objeto).addClass('datepickerSmar'); $(objeto).attr('autocomplete','off'); } function criaObjeto(nome){ if(!$('#' + nome).length){ $("body").append("
"); $('#' + nome).hide(); } } function apagaObjeto(nome){ if($('#' + nome).length) $('#' + nome).remove(); } function rodaFuncao(func){ if (eval("typeof func === 'function'")) { func(); }else{ window.location.href = func; } } function janela_generica(tipo,mensagem,cabecalho,botoes,alt,comp,func,dialogNome){ var xBt = 0, btnClose = "Cancelar", btns = {}; if(typeof(dialogNome) == 'undefined') dialogNome = "dialog-message"; criaObjeto(dialogNome); if(botoes){ btArray = botoes.split("|"); tam = btArray.length; for(xBt = 0;xBt < tam;xBt++){ opArray = btArray[xBt].split(';'); btns[xBt] = { id:"btns"+xBt, text:opArray[0], click:function() { rodaFuncao(opArray[1]); $(this).dialog( "close" ); }}; } xBt = xBt + 1; } if(tipo == 1){ if(!cabecalho) cabecalho = "Alerta"; var btnClose = "Ok"; }else if(tipo == 2){ if(!cabecalho) cabecalho = "Confirme"; btns[xBt] = { text:"Confirmar", click: function(){ rodaFuncao(func); $(this).dialog( "close" ); } }; xBt = xBt + 1; } btns[xBt] = {id:"closeBtn", click: function() { $(this).dialog( "close" );}, text:btnClose }; if(!cabecalho) cabecalho = 'Mensagem'; $("#"+dialogNome).html("
"+mensagem); $("#"+dialogNome).show(); $(function(){ $("#"+dialogNome).dialog({ title: cabecalho, modal: true, width: comp, height: alt, buttons: btns }); }); } function janela_ajax(pagina,parametro,cabecalho,botoes,alt,comp,func){ criaObjeto("dialog-message"); $("#dialog-message").load(pagina,parametro); var mensagem = $("#dialog-message").html(); janela_generica(0,mensagem,cabecalho,botoes,alt,comp,func); } function alerta(msg){ janela_generica(1,msg,'','','180','400',''); } function confirma(msg,func){ janela_generica(2,msg,'','','180','400',func); } function aguarde(estado){ if((!estado)||(estado == "close")){ $(function() { apagaObjeto('dialog-message'); }); }else{ criaObjeto("dialog-message"); $("#dialog-message").html("
"); $(function() { $("#dialog-message").dialog({ open: function(event, ui) { $(".ui-dialog-titlebar-close").hide(); }, title: 'Carregando...', modal: true, width: 300, height: 100, closeOnEscape: false, beforeClose: function (event, ui) { return false; }, dialogClass: "noclose" }); }); $("#dialog-message").show(); } } function aguardeJQ(estado){ if((!estado)||(estado == "close")){ $(function() { apagaObjeto('aguardeJQMessage'); }); }else{ criaObjeto("aguardeJQMessage"); $("#aguardeJQMessage").html("
"); $(function() { $("#aguardeJQMessage").dialog({ open: function(event, ui) { $(".ui-dialog-titlebar-close").hide(); }, title: 'Carregando...', modal: true, width: 300, height: 100, closeOnEscape: false, beforeClose: function (event, ui) { return false; }, dialogClass: "noclose" }); }); $("#aguardeJQMessage").show(); } } //Traz página por ajax function paginaAjax(pagina,param,local){ aguardeJQ(1); $(local).load(pagina, param, function(responseTxt, statusTxt, xhr){ if(statusTxt == "success"){ aguardeJQ(0); } if(statusTxt == "error"){ aguardeJQ(0); alertErroJQ('Erro na pagina ' + pagina + '!','M'); } }); } //-- campo = '#nomedocampo' ou 'input[type=text]' function textoMaiusculo(campo){ $(campo).val(function(){ this.style.textTransform = "uppercase"; return this.value.toUpperCase(); }); } var cod_pop = ''; var mouseX = 0; var mouseY = 0; $(document).ready(function(){ fechaMenu(); $(document).mousemove(function(e){ mouseX = e.pageX; mouseY = e.pageY; }); }); function contextoMenu(sel,rest){ cod_pop = sel; var restrito = rest.split(','); var tam = $('.menuItem').length; for(x=1; x <= tam;x++){ linha = '#item' + x; linha = $(linha); for(y = 0;y < tam; y++){ if(restrito[y] == x){ linha.hide(); y = tam; }else{ linha.show(); } } } fechaMenu(); $('#menudiv').css({'top':mouseY,'left':mouseX, 'position':'absolute', 'border':'0px', 'padding':'10px'}); $('#menudiv').show(); } /* Como usar função para menu de contexto -- var codigo : Chave primaria para referencia. -- var restricao : posição do menu a ocultar Ex 2, ou + de 1: 2,5, ----------------------------------------------------- -- const menuArray : Array com os dados do menu const menuArray = [ ["Opções", ["Envia documento para aprovações","play","envia_doc()"], ["Distribui documento","play","distribui()"], ["Download do arquivo","download","arquivo()"], ["Upload do arquivo","upload","up_arquivo()"], ["Devolve documento","undo","devolve_dist()"] ] ]; 'Descrição, imagem, função' -- custcod : variavel global do 'codigo' -------------------- -- Menu de contexto (novo) --------------------- */ function abreMenu(codigo,restricao){ cod_pop = codigo; montaMenu(); restricaoMenu(restricao); posicaoMenu(); $(document).ready(function(){ $('.stripedTable').mouseover(function(){ fechaMenu(); }); }) } /* Parte da funcao abreMenu */ function montaMenu(){ if(!$("#menudiv").length){ var i, j, pos = 1, menu = ''; $(document).ready(function(){ $('#menudiv').mouseleave(function(){ fechaMenu(); }); }) $('body').append(menu); }else{ $("#menudiv").toggle(); } } /* Parte da funcao abreMenu */ function restricaoMenu(restricao){ var restricaoArray = restricao.split(','); var linha, x, tam = restricaoArray.length; $(".itemMenu").show(); for(x = 0;x < tam;x++){ linha = '#itemMenu_' + restricaoArray[x]; $(linha).hide(); } } /* Parte da funcao abreMenu */ function posicaoMenu(){ var altutaDiv = $('#menudiv').height()*1; var altutaWin = $(window).height()*1; var altutaDoc = $(document).height()*1; if((mouseY + altutaDiv) > altutaDoc){ mouseY = altutaDoc - altutaDiv - 10; } $('#menudiv').css({'top':mouseY-5,'left':mouseX-5}); } /* Parte da funcao abreMenu */ function fechaMenu(){ $('#menudiv').hide(); } function excluiMenu(){ $("#menudiv").remove(); } /* Como usar -- const menuArray : Array com os dados do menu const legCorArray = [ ['Legenda Default','Default'], ['Legenda Primary','Primary'], ['Legenda Secondary','Secondary'], ['Legenda Confirm','Confirm'], ['Legenda Success','Success'], ['Legenda Info','Info'], ['Legenda Warning','Warning'], ['Legenda Alert','Alert'], ['Legenda Danger','Danger'], ['Legenda Cancel','Cancel'], ['Legenda Light','Light'], ['Legenda Dark','Dark'] ] 'Texto legenda, cor do tema' -------------------- -- Menu de legenda --------------------- */ function chamaLegenda(){ if($("#menudiv").length){ $("#menudiv").remove(); } var i, menu = ''; $(document).ready(function(){ $('#menudiv').mouseleave(function(){ excluiMenu(); }); $('.stripedTable').mouseover(function(){ excluiMenu(); }); }) $('body').append(menu); posicaoMenu(); } function enviaForm(fomulario, paginaGrava, divRetorno){ if(!paginaGrava) paginaGrava = $("#contatosForm").prop('action'); // $(divRetorno).load(paginaGrava+"?"+$(fomulario).serialize()); //$(divRetorno).load() $.ajax({type:'POST', url: paginaGrava, data:$(fomulario).serialize(), success: function(response) { $(divRetorno).html(response); }}); } function saveFormJQ(idForm, objectReturnId){ var form = $("#" + idForm); var pagina = form.prop('action'); var parametros = form.serialize(); if(!pagina){ alert('Informe o "action" no "form"'); }else{ aguardeJQ(1); $.ajax({ type:'POST', url: pagina, data: parametros, contentType: 'application/x-www-form-urlencoded; charset=UTF-8', success: function(response) { $("#" + objectReturnId).html(response); aguardeJQ(0); }, error: function(xhr, status, error) { alert(error); } }); } } /* Permite realizar pesquisa em um campo selected (auto complete) */ (function( $ ) { $.widget( "custom.combobox", { _create: function() { this.wrapper = $( "" ) .addClass( "custom-combobox" ) .insertAfter( this.element ); this.element.hide(); this._createAutocomplete(); this._createShowAllButton(); }, _createAutocomplete: function() { var selected = this.element.children( ":selected" ), value = selected.val() ? selected.text() : ""; this.input = $( "" ) .appendTo( this.wrapper ) .val( value ) .attr( "title", "" ) .addClass( "custom-combobox-input ui-widget ui-widget-content ui-state-default ui-corner-left" ) .autocomplete({ delay: 0, minLength: 0, source: $.proxy( this, "_source" ) }) .tooltip({ tooltipClass: "ui-state-highlight" }); this._on( this.input, { autocompleteselect: function( event, ui ) { ui.item.option.selected = true; this._trigger( "select", event, { item: ui.item.option }); }, autocompletechange: "_removeIfInvalid" }); }, _createShowAllButton: function() { var input = this.input, wasOpen = false; $( "" ) .attr( "tabIndex", -1 ) .attr( "title", "Show All Items" ) .tooltip() .appendTo( this.wrapper ) .button({ icons: { primary: "ui-icon-triangle-1-s" }, text: false }) .removeClass( "ui-corner-all" ) .addClass( "custom-combobox-toggle ui-corner-right" ) .mousedown(function() { wasOpen = input.autocomplete( "widget" ).is( ":visible" ); }) .click(function() { input.focus(); // Close if already visible if ( wasOpen ) { return; } // Pass empty string as value to search for, displaying all results input.autocomplete( "search", "" ); }); }, _source: function( request, response ) { var matcher = new RegExp( $.ui.autocomplete.escapeRegex(request.term), "i" ); response( this.element.children( "option" ).map(function() { var text = $( this ).text(); if ( this.value && ( !request.term || matcher.test(text) ) ) return { label: text, value: text, option: this }; }) ); }, _removeIfInvalid: function( event, ui ) { // Selected an item, nothing to do if ( ui.item ) { return; } // Search for a match (case-insensitive) var value = this.input.val(), valueLowerCase = value.toLowerCase(), valid = false; this.element.children( "option" ).each(function() { if ( $( this ).text().toLowerCase() === valueLowerCase ) { this.selected = valid = true; return false; } }); // Found a match, nothing to do if ( valid ) { return; } // Remove invalid value this.input .val( "" ) .attr( "title", value + " didn't match any item" ) .tooltip( "open" ); this.element.val( "" ); this._delay(function() { this.input.tooltip( "close" ).attr( "title", "" ); }, 2500 ); this.input.autocomplete( "instance" ).term = ""; }, _destroy: function() { this.wrapper.remove(); this.element.show(); } }); })( jQuery ); /* Como usar -- codPesq : Código da pesquisa. -- campoCod : Valor do codigo da pesquisa. -- camposDesc : Nome do campo de retorno da pesquisa. -- separador* : Caractere separador (Utilizar para multiplos retornos Obs: a sequencia -- dos campos deve corresponder ao retorno da pesquisa). -- tipoCampo* : Tipo do objeto de retorno, 'i' para input ou 'd' para div. -- * não obrigatório. -------------------- -- Retorna dados da consulta --------------------- */ function buscaNomeJQ(codPesq, campoCod, camposDesc, separador = "", tipoCampo = "i"){ var i, campoArr; if (typeof separador === "undefined") separador = ""; if (typeof tipoCampo === "undefined") tipoCampo = "i"; if(campoCod){ var retorno = ""; var pagina = "../../dqanet/funcoes/ajax.php"; var parametro = "jquery=1&op="+codPesq+"&codigo="+campoCod; $.ajax({ url:pagina+"?"+parametro, success:function(result){ if(!separador){ if(tipoCampo == 'i') $("#"+camposDesc).val(result); else $("#"+camposDesc).html(result); }else{ campoArr = camposDesc.split(separador); retorno = result.split(separador); for(let i = 0;i < campoArr.length; i++){ if(tipoCampo == 'i') $("#"+campoArr[i]).val(retorno[i]); else $("#"+campoArr[i]).html(retorno[i]); } } } }); } } /* Como usar -- codPesq : Código da pesquisa. -- campoCod : Valor do codigo da pesquisa. -- camposDesc : Nome do campo de retorno da pesquisa. -------------------- -- Janela de pesquisa --------------------- */ function pesquisaJQ(codPesq,campoCod,campoDesc){ var titulo = 'Pesquisa'; var pagina = '/dqanet/pesquisa/pesquisaAjax.php'; var parametro = ''; var altura = 360; var largura = 650; var btns = {}; var mensagem = '
'; mensagem = mensagem + ''; mensagem = mensagem + ''; mensagem = mensagem + ''; janelaJQNome(titulo,mensagem,altura,largura,btns,'pesquisaJQ'); $("#formPesq2").load(pagina,parametro); } function f_menuJQ(padrao){ if (!document.getElementsByTagName) return false; var pagina, local, x, y = 1, objetos = $(".botao"); for(x=0;objetos.length > x;x++){ objetos[x].className = "borda_off botao"; //alert(objetos[x].id + " ====> menu_bt_"+y); objetos[x].id = "menu_bt_" + y; texto = objetos[x].getElementsByTagName('a')[0].innerHTML; texto += ""; texto += ""; objetos[x].innerHTML = texto; objetos[x].onclick = function(){ f_selJQ(this,'click');} objetos[x].onmouseover = function(){ f_selJQ(this,'over');} objetos[x].onmouseout = function(){ f_selJQ(this,'out');} } } function f_selJQ(objeto,acao){ //alert('aqui 2' + acao + '==' + objeto); var fundo1, fundo2; if(objeto.className == 'borda_off botao'){ fundo1 = '#EAEAEA'; fundo2 = '#CDCDCD'; }else{ fundo1 = '#CDCDCD'; fundo2 = '#EAEAEA'; } if(acao == 'over'){ objeto.style.background = fundo2; }else if(acao == 'out'){ objeto.style.background = fundo1; }else if(acao == 'click'){ //alert('aqui'); var id_campo = '', target_campo = '', href_campo = '', x, objetos = document.getElementsByTagName('td'); for(x=0;objetos.length > x;x++){ if(objetos[x].className == 'borda_on botao'){ objetos[x].className = 'borda_off botao'; objetos[x].style.background = '#EAEAEA'; } } var cel_link = objeto.getElementsByTagName('input'); for(y=0;cel_link.length > y;y++){ id_campo = cel_link[y].id; if(id_campo == 'target'){ target_campo = cel_link[y].value; } if(id_campo == 'href'){ href_campo = cel_link[y].value; } } //alert(target_campo); if(target_campo.indexOf('#') < 0){ if(href_campo){ $('#painelSup').html(' '); $('#painelSup').hide(); $('#divPrincipal').html(''); /*eval("parent." + target_campo + ".location.href = '" + href_campo + "';");*/ } }else{ var target_campo2 = target_campo.split('#'); var href_campo2 = href_campo.split('?'); var href_campoP = target_campo2[2].split('?'); if(target_campo2[0] == "principal"){ aguardeOld(1,"divPrincipal"); if(href_campoP[0]){ $('#painelSup').load(href_campoP[0],href_campoP[1] + '&ajax=1'); $('#painelSup').show(); }else{ $('#painelSup').hide(); } $('#divPrincipal').load(href_campo2[0],href_campo2[1] + '&ajax=1'); }else{ aguardeOld(1,target_campo); if(href_campoP[0]){ $('#painelSup').load(href_campoP[0],href_campoP[1] + '&ajax=1'); $('#painelSup').show(); }else{ $('#painelSup').hide(); } $('#'+target_campo2[0]).load(href_campo2[0],href_campo2[1] + '&ajax=1');; } } objeto.className = 'borda_on botao'; } } function aguardeOld(id,destino){ var aguardar = " 

Aguarde...
"; $("#"+destino).html(aguardar); } /* Como usar -- titulo : Texto do cabeçalho da janela. -- mensagem : Texto no corpo da janela. -- altura: Altura da janela. - opcopnal -- largura: Largura da janela. - opcopnal -- btns: Botões, usar como arrayEx: - opcopnal -- var btns = {}; -- btns['Sim'] = function(){ funcaoSim(); }; -- btns['Não'] = function(){ funcaoNao(); }; -------------------- -- O botão sair sempre esta presente --------------------- */ function janelaJQ(titulo, mensagem, altura = '100%', largura = '100%', btns = {}, nomeWin = "dialog-message"){ janelaJQNome(titulo, mensagem, altura, largura, btns, nomeWin); } /* Como usar -- titulo : Texto do cabeçalho da janela. -- mensagem : Texto no corpo da janela. -- altura: Altura da janela. - opcopnal -- largura: Largura da janela. - opcopnal -- btns: Botões, usar como arrayEx: - opcopnal -- var btns = {}; -- btns['Sim'] = function(){ funcaoSim(); }; -- btns['Não'] = function(){ funcaoNao(); }; -- nome: nome da janela; -------------------- -- O botão sair sempre esta presente --------------------- */ function janelaJQNome(titulo, mensagem, altura = '100%', largura = '100%', btns = {}, nome = "dialog-message"){ if(!altura) nome = "100%"; if(!largura) nome = "100%"; if(!nome) nome = "dialog-message"; if(!btns) btns = {}; btns['Sair'] = function(){ $("#" + nome).dialog('close');}; criaObjeto(nome); if(altura == '100%') altura = $(window).height() - 20; if(largura == '100%') largura = $(window).width() - 20; $("#" + nome).html(mensagem); $("#" + nome).show(); $("#" + nome).dialog({ autoOpen:true, height:altura, width:largura, title:titulo, modal:true, buttons:btns }); } function janelaJQNone(titulo, mensagem, altura = '100%', largura = '100%', btns = {}, nome = "dialog-message"){ if(!altura) nome = "100%"; if(!largura) nome = "100%"; if(!nome) nome = "dialog-message"; if(!btns) btns = {}; janelaJQNome(titulo, mensagem, altura, largura, btns, nome); } /* Como usar --------------------- -- nome : Nome da Janela passar nulo '' se for padrao. -- fechaJanelaJQ() --------------------- */ function fechaJanelaJQ(nome = "dialog-message"){ if(!nome) nome = "dialog-message"; $("#" + nome).dialog('close'); } /* Como usar -- titulo : Texto do cabeçalho da janela. -- mensagem : Texto no corpo da janela. -- altura: Altura da janela. -- largura: Largura da janela. -- btns: Botões, usar como arrayEx: -- var btns = {}; -- btns['Sim'] = function(){ funcaoSim(); }; -- btns['Não'] = function(){ funcaoNao(); }; -------------------- -- O botão sair sempre esta presente --------------------- *//* function modalJQ(titulo, mensagem, altura, largura, id, class, btns){ var conteudo; btns['Sair'][0] = "btn btn-outline pull-left"; btns['Sair'][1] = " data-dismiss="modal""; criaObjeto(id); if(!class) class = "modal modal-primary fade"; $("#"+id).addClass(class); conteudo = '' $("#"+id).html(conteudo); $("#"+id).modal({show: true}); } */ //---------------------------------------------------------------------------- // Função que envia solicitação da pesquisa //---------------------------------------------------------------------------- // pagina - pagina que executará a pesquisa // parametro - parametros a serem passados para pagina ex: 'codigo=1¶metro=2' // obj - nome do objeto de retorno da pesquisa // ret - 't' Texto ou em 'x' XML parametro retorno xml xxxx // tipo_obj - 'd' objeto tipo
ou 'i' objeto tipo // aguarde - 1 mostrar "Aguarde...", 0 Não mostrar nada // separador - Separador para array padrao é ',' function faz_pesquizaJQ(pagina,parametro,obj,ret,tipo_obj,aguarde,separador,obj_id = ''){ var obj_array, x, objeto1, qtd; if(aguarde) aguardeJQ(1); parametro = parametro + "&jquery=1"; $.ajax({url:pagina+"?"+parametro,success:function(result){ if((separador)&&(separador != 'undefined')){ obj_array = obj.split(separador); result_array = result.split(separador); }else{ obj_array = new Array(obj); result_array = new Array(result); } qtd = obj_array.length; for(x = 0;qtd > x;x++){ objeto1 = obj_array[x]; result1 = result_array[x]; if(tipo_obj == 'i'){ $("#" + objeto1).val(result1); }else{ $("#" + objeto1).html(result1); } } if(aguarde) aguardeJQ(0); }}); } //---------------------------------------------------------------------------- // Função do followup generico em jquery //---------------------------------------------------------------------------- function recadoJQ(filtro,sistema){ var titulo = "Follow-up"; var pagina = "../../ss3/recado/recado.php"; var parametros = "ajax=1&filtro="+filtro+"&sist="+sistema; var altura = 520; var largura = 600; var mensagem = '
'; janela_generica(0,mensagem,titulo,'',altura,largura,''); //janelaJQ(titulo, mensagem, altura, largura, ''); $("#formMotivo").load(pagina,parametros); $("#dialog-message").css('overflow','hidden'); btns = ""; } //---------------------------------------------------------------------------- // Função centralizar DIV //---------------------------------------------------------------------------- // Ex $(element).center(); // jQuery.fn.center = function () { this.css("position","absolute"); this.css("top", Math.max(0, (($(window).height() - $(this).outerHeight()) / 2) + $(window).scrollTop()) + "px"); this.css("left", Math.max(0, (($(window).width() - $(this).outerWidth()) / 2) + $(window).scrollLeft()) + "px"); return this; } //---------------------------------------------------------------------------- // Função PERMITIR APENAS NUMEROS IMPUT TEXT //---------------------------------------------------------------------------- // Ex: $("#yourTextBoxName").numericOnly(); // jQuery.fn.numericOnly = function(){ return this.each(function(){ $(this).keydown(function(e){ var key = e.charCode || e.keyCode || 0; // allow backspace, tab, delete, enter, arrows, numbers and keypad numbers ONLY // home, end, period, and numpad decimal return ( key == 8 || key == 9 || key == 13 || key == 46 || key == 110 || key == 190 || (key >= 35 && key <= 40) || (key >= 48 && key <= 57) || (key >= 96 && key <= 105)); }); }); }; //---------------------------------------------------------------------------- // Função PERMITIR APENAS NUMEROS E PONTO IMPUT TEXT //---------------------------------------------------------------------------- // Ex: $("#yourTextBoxName").decimaltOnly(); // jQuery.fn.decimaltOnly = function(){ return this.each(function(){ $(this).keydown(function(e){ var key = e.charCode || e.keyCode || 0; // allow backspace, tab, delete, enter, arrows, numbers and keypad numbers ONLY // home, end, period, and numpad decimal return ( key == 8 || key == 9 || key == 13 || key == 46 || key == 110 || key == 190 || key == 194 || (key >= 35 && key <= 40) || (key >= 48 && key <= 57) || (key >= 96 && key <= 105)); }); }); }; //---------------------------------------------------------------------------- // Dados do usuario em jquery //---------------------------------------------------------------------------- function usuDadosJQ(pesNumero){ var titulo = "Dados do Usuário"; var pagina = "../../dqanet/index/resultado.php"; var parametros = "PES_NUMERO="+pesNumero + '&ajax=1&cons=1'; var altura = 380; var largura = 940; var btns = {}; ajxJanelaJQ(titulo,pagina,parametros,altura,largura,btns) //janela_generica(0,mensagem,titulo,'',altura,largura,''); //janelaJQ(titulo, mensagem, altura, largura, ''); //$("#formMotivo").load(pagina,parametros); //$("#dialog-message").css('overflow','hidden'); } //------------------------------------------------------------------------------ // Dialog de confirmação //------------------------------------------------------------------------------ /* mensagem - Mensagem da Confirmação, btConf - função que o botão deve executar. Exemplo var btConf = "funcaoExecutar();"; confirmJQ("Deseja confirmar isso?",btns); */ function confirmJQ(mensagem,btConf){ var btns = {}; var titulo = 'Confirmar'; var altura = 200; var largura = 450; var opcao; btns['Confirmar'] = function(){ $(this).dialog('close'); if (typeof btConf == 'string') { eval(btConf); } else { btConf(); } }; btns['Cancelar'] = function(){ $(this).dialog('close'); return false; }; criaObjeto("dialog-confirm"); mensagem = '
'+mensagem+'
'; $("#dialog-confirm").html(mensagem); $("#dialog-confirm").show(); $("#dialog-confirm").dialog({ autoOpen:true, height:altura, width:largura, title:titulo, modal:true, buttons:btns }); } function alertJQ(msg,size='M') { notificacaoJQ(msg,'alert',size.toUpperCase()); } function alertOkJQ(msg,size='M') { notificacaoJQ(msg,'confirm',size.toUpperCase()); } function alertErroJQ(msg,size='M') { notificacaoJQ(msg,'warning',size.toUpperCase()); } //------------------------------------------------------------------------------ // notificacaoJQ //------------------------------------------------------------------------------ /* msg - Mensagem a ser exibida. tipo - Tipo da mensagem. 'warning' = Erro, 'alert' = Alerta , (Caso não especificar por padrão é atribuido alerta) 'confirm' = Confirmação size - Tamanho da janela (Caso não especificar por padrão é atribuido tamanho Médio. Exemplo var btConf = "funcaoExecutar();"; confirmJQ("Deseja confirmar isso?",btns); */ function notificacaoJQ(msg,tipo='alert',size='M') { var btns = {}; var width = 600; var height = 300; var widthMsg = width - 100; var tag, src = '', classe = '', classeIco = '', titulo = ''; if(size == 'G') { width = width + 100; height = height + 100; widthMsg = width - 180; } else if(size == 'P') { width = width - 150; height = height - 50; } if(tipo == 'warning') { src = 'icons8-high-priority-96.png'; classe = 'lbMsgWarning'; titulo = 'Erro'; tag = 'img'; } else if (tipo == 'alert') { src = 'icons8-box-important-96.png'; classe = 'lbMsgAlert'; titulo = 'Alerta'; tag = 'img'; } else if (tipo == 'confirm') { src = 'icons8-checkmark-96.png'; classe = 'lbMsgConfirm'; titulo = 'Confirmação'; tag = 'img'; }else{ src = 'icons8-box-important-96-BP.svg'; classe = 'lbMsg' + tipo; titulo = 'Alerta'; tag = 'svg'; } if(tag == 'svg'){ tag = 'Alert'; }else{ tag = ''; } var heightMsg = height - 115; var conteudo = '
'+tag+'
'+msg+'
'; janelaJQNome(titulo,conteudo,height,width,btns,'alertWindow'); } function savingJQ(pagina,parametro){ var titulo = 'Salvando'; var mensagem = '
Salvando...
'; var altura = 150; var largura = 400; var btns = {}; janelaJQNome(titulo,mensagem,altura,largura,btns,'savingWindow'); //$("#savingMsg").load(pagina,parametro); //window.open(pagina+'?'+parametro); $.ajax({ dataType: "HTML", type: "POST", url: pagina, data: parametro, proccessData: false }).done(function(data){ $("#savingMsg").html(data); }); } //------------------------------------------------------------------------------ // Janela JQueryUi Iframe //------------------------------------------------------------------------------ /* Como usar -- titulo : Texto do cabeçalho da janela. -- pagina : Pagina a se chamada no Iframe. -- parametro: Pararemtros da pagina. -- altura: Altura da janela. - opcopnal -- largura: Largura da janela. - opcopnal -- btns: Botões, usar como arrayEx: - opcopnal -- var btns = {}; -- btns['Sim'] = function(){ funcaoSim(); }; -- btns['Não'] = function(){ funcaoNao(); }; -------------------- -- O botão sair sempre esta presente --------------------- */ function ifmJanelaJQ(titulo, pagina, parametro, altura = '100%', largura = '100%', btns = {}, nomeWin = "dialog-message"){ var idJanela = nomeWin + 'Janela'; var caminho = pagina+'?'+parametro; var mensagem = ''; if(!btns) var btns = {}; if(altura == '100%') altura = $(window).height() - 40; if(largura == '100%') largura = $(window).width() - 40; janelaJQ(titulo, mensagem, altura, largura, btns, nomeWin); } //------------------------------------------------------------------------------ // Janela JQueryUi Ajax //------------------------------------------------------------------------------ /* Como usar -- titulo : Texto do cabeçalho da janela. -- pagina : Pagina a se chamada no Ajax. -- parametro: Pararemtros da pagina. -- altura: Altura da janela. - opcopnal -- largura: Largura da janela. - opcopnal -- btns: Botões, usar como arrayEx: - opcopnal -- var btns = {}; -- btns['Sim'] = function(){ funcaoSim(); }; -- btns['Não'] = function(){ funcaoNao(); }; -------------------- -- O botão sair sempre esta presente --------------------- */ function ajxJanelaJQ(titulo, pagina, parametro, altura = '100%', largura = '100%', btns = {}, nomeWin = "dialog-message"){ if(nomeWin == "dialog-message") var idJanela = "ifrJanela" else var idJanela = nomeWin + 'Janela'; var mensagem = '
'; if(altura == '100%') altura = $(window).height() - 20; if(largura == '100%') largura = $(window).width() - 20; janelaJQ(titulo, mensagem, altura, largura, btns, nomeWin); paginaAjax(pagina,parametro,"#"+idJanela); $("#"+idJanela).height(altura-95); $("#"+idJanela).width(largura-30); } /*------------------------------------------------------------------------------ // Busca jason //------------------------------------------------------------------------------ -- pagina : Pagina a se chamada no Ajax. -- parametro: Pararemtros da pagina. -- criar: Cria campos hiden se não encontar. //------------------------------------------------------------------------------*/ function buscaJQJason(pagina, parametros = '', criar = 0){ var caminho; caminho = pagina + '?' + parametros; $.getJSON(caminho, function(result) { result.erro = ''; aguardeJQ(1); }).done(function(result){ result.erro = ''; aguardeJQ(0); populaObjJason(result, criar); }).fail(function( jqxhr, textStatus, error ) { var err = textStatus + ", " + error; aguardeJQ(0); alertJQ(err); var result = {'erro': err} populaObjJason(result); }); } function populaObjJason(objeto, criar){ var campo, newObj; $.each(objeto, function (key, val) { campo = '#' + key; newObj = ''; if(!$(campo).length){ if(criar == 1){ $(body).after(newObj); } }else{ if(ckCampo(campo) == 'val'){ $(campo).val(val).trigger('change'); }else{ $(campo).html(val).trigger('change'); } } }); } function ckCampo(campo){ if($(campo).length){ if($(campo).prop("tagName").toUpperCase() == 'INPUT'){ return ('val'); }else{ return ('html'); } } } //------------------------------------------------------------------------------ // Pesquisa Menu //------------------------------------------------------------------------------ function ajxPesquisaML(form){ var form_menu = $('#pesq_menu_left'); var consulta = $('#consulta_' + form).val(); var pagObj = $("[name='opcao_frm_" + form + "']:checked"); var pagina = pagObj.val(); var target = $('#target_' + pagObj.prop('id').substr(10)); var parametro = form_menu.serialize(); var campo = 'consulta_' + form; var tam = pagina.length; if((pagina.substr(tam-3,tam)) == 'php') pagina = pagina + "?consulta=" + consulta; else pagina = pagina + "&consulta=" + consulta; if(target == "principal") parent.principal.location.href = pagina + '&' + parametro; else frames[target.val()].location.href = pagina + '&' + parametro; } //------------------------------------------------------------------------------ // Pesquisa Menu //------------------------------------------------------------------------------ function ajxPostForm(form){ var url = $(form).prop('action'); var retorno = '', data = $(form).serialize(); retorno = ajxPostPag(url,data); return(retorno) } //------------------------------------------------------------------------------ // Pesquisa Menu //------------------------------------------------------------------------------ function ajxPostPag(url,data){ var retorno = '', type = 'POST'; $.ajax({ url: url, type :type, dataType : 'json', data : data, success : function(result) { if(result){ retorno = result.split("#"); }else{ retorno = "null"; } }, error: function(xhr, resp, text) { retorno = "error"; } }) return(retorno) } //------------------------------------------------------------------------------ // json to Array //------------------------------------------------------------------------------ function json2Array(pagina, parametro, jType = 'GET'){ var result = []; $.ajax({ type: jType, url: pagina + '?' + parametro, async: false, dataType: "json", success: function (data) { result = data; } }); return result; } //------------------------------------------------------------------------------ // json to Array //------------------------------------------------------------------------------ function desabilitaJQ(desabilita, objetos = ''){ if(!objetos){ objetos = 'input,select,button,textarea'; } var x, objArray = objetos.split(','); for(const element of objArray){ if($(element).length){ $(element).prop('disabled',desabilita); } } } /*------------------------------------------------------------------------------ // Busca dados API Jason - internas // url -> caminho da api -> no smarnet // campos -> array de campos e propiedades do objeto da API // const campos = [ // ['campo1', 'prop1'], // ['campo2', 'prop2'], // ['...', '...'] // ]; // funcao -> chama funcao para excutar ao fim da API // nome da função sem parametros e sem aspas ex: minhaFunc ------------------------------------------------------------------------------*/ async function buscaDadosAPI(url, campos, funcao = ''){ if(url){ buscaAPI(url) .then((response) => { return response.json(); }) .then((data) => { if(data){ campos.forEach((campo) => { const idCampo = campo[0]; const atributo = campo[1]; document.getElementById(idCampo).value = data[atributo] || ''; }); if(funcao) funcao(); }else{ alert('API sem retorno!'); } }) .catch(error => { alert('API Erro!: ' + error); throw error; }); }else{ alert('Informe URL!'); } } //-------------------------------------------- // buscaAPI -> internas // url -> http://API //-------------------------------------------- function buscaAPI(url){ return fetch(url, { method: 'GET', headers: { 'Accept': 'application/json', }, }); } //-------------------------------------------- // getJSONData -> internas // url -> http://API //-------------------------------------------- function getJSONData(url) { return $.ajax({ url: url, method: "GET", dataType: "json", }); } //-------------------------------------------- // getCEP // cep -> CEP //-------------------------------------------- async function getCEP(cep) { const cepAddress = await getJSONData("../../dqanet/_api/index.php?getCEP=" + cep); return cepAddress; } //-------------------------------------------- // tinymceDef // component -> componente '.' p/ css class '#' p/ id // height -> altura //-------------------------------------------- function tinymceDef(component,height = 300){ tinymce.remove(component); tinymce.init({ selector: component, content_css: '../../dqanet/funcoes/tinymce5/custom-styles.css', height: height, menubar: false, plugins: [ 'advlist autolink lists link image charmap print preview anchor', 'searchreplace visualblocks code fullscreen insertdatetime', 'insertdatetime media table paste wordcount searchreplace', 'table wordcount' ], toolbar1: 'undo redo | fontselect fontsizeselect | ' + 'bold italic underline | alignleft aligncenter ' + 'alignright alignjustify | code removeformat searchreplace', toolbar2: 'cut copy paste | forecolor insertdatetime table customInsertButton | bullist numlist', setup: function (editor) {}, fontsize_formats: '8pt 9pt 10pt 11pt 12pt 14pt 18pt 24pt 30pt 36pt 48pt 60pt 72pt 96pt', content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px }' }); } //-------------------------------------------- // observer // fieldID -> id do campo // callback -> função a ser chamada quando o campo mudar de valor //-------------------------------------------- function observer(fieldID, callback) { const hiddenField = document.getElementById(fieldID); function onHiddenFieldChange(mutationsList, observer) { for (const mutation of mutationsList) { if (mutation.type === 'attributes' && mutation.attributeName === 'value') { const fieldVal = mutation.target.value; // Chama a função passada como callback callback(fieldVal); } } } const observerConfig = { attributes: true, attributeFilter: ['value'] }; const mutationObserver = new MutationObserver(onHiddenFieldChange); mutationObserver.observe(hiddenField, observerConfig); } //------------------------------------------------------ // permiteSomenteNumerosLetras // Exemplo de uso: //var input = document.getElementById("meuInput"); //input.addEventListener("keypress", permiteSomenteNumerosLetras); function permiteSomenteNumerosLetras(event) { var charCode = event.which ? event.which : event.keyCode; if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57) && (charCode < 65 || charCode > 90) && (charCode < 97 || charCode > 122)) { event.preventDefault(); return false; } return true; }