Commit a99f2613234b88eba7d2038b4416ff19288e8594
1 parent
77c8aa92
Exists in
master
and in
7 other branches
Criação da variável de configuração $i3geoEsquemasWL, utilizada para restringir …
…a montagem de listas de opções no sistema de administração
Showing
8 changed files
with
127 additions
and
1664 deletions
Show diff stats
@@ -0,0 +1,54 @@ | @@ -0,0 +1,54 @@ | ||
1 | +if (typeof (i3GEOadmin) === 'undefined') { | ||
2 | + var i3GEOadmin = {}; | ||
3 | +} | ||
4 | +i3GEOadmin.bdExplorer = { | ||
5 | + popOverTemplate: '<div class="popover" style="width:100%; color: black; background-color:white;" role="tooltip"><div class="arrow"></div><div class="popover-content"></div></div>', | ||
6 | + templateListaPopOver: '<a href="javascript:void(0)" data-name="{{{destino}}}" data-value="{{{valor}}}" class="list-group-item">{{{valor}}}</a>', | ||
7 | + popOver: function(destino, conteudo){ | ||
8 | + var pop = $("#modalGeral input[name='" + destino + "']").popover({ | ||
9 | + "content": conteudo, | ||
10 | + "placement": function(a){a.style.left = "0px";}, | ||
11 | + "title": "", | ||
12 | + "template": i3GEOadmin.bdExplorer.popOverTemplate, | ||
13 | + "html": true, | ||
14 | + "animation": false | ||
15 | + }); | ||
16 | + pop.popover('toggle'); | ||
17 | + $(".popover").css("left","0px"); | ||
18 | + $(".popover").css("top","45px") | ||
19 | + $(".popover").on('click', function (e) { | ||
20 | + $("#modalGeral input[name='" + e.target.getAttribute('data-name') + "']").val(e.target.getAttribute('data-value')); | ||
21 | + $(".popover").popover("destroy"); | ||
22 | + }) | ||
23 | + }, | ||
24 | + listaEsquemas: function(destino){ | ||
25 | + if($(".popover").length == 0){ | ||
26 | + $.post( | ||
27 | + i3GEO.configura.locaplic + "/admin1/php/bdexplorer.php?funcao=listarEsquemas" | ||
28 | + ) | ||
29 | + .done( | ||
30 | + function(data, status){ | ||
31 | + var c = "", json = jQuery.parseJSON(data); | ||
32 | + c = Mustache.to_html( | ||
33 | + "{{#data}}" + i3GEOadmin.bdExplorer.templateListaPopOver + "{{/data}}", | ||
34 | + { | ||
35 | + "data":json, | ||
36 | + "destino": destino, | ||
37 | + "valor": function() { | ||
38 | + return this; | ||
39 | + } | ||
40 | + } | ||
41 | + ); | ||
42 | + i3GEOadmin.bdExplorer.popOver(destino,c); | ||
43 | + } | ||
44 | + ) | ||
45 | + .fail( | ||
46 | + function(data){ | ||
47 | + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); | ||
48 | + } | ||
49 | + ); | ||
50 | + } else { | ||
51 | + $(".popover").popover("destroy"); | ||
52 | + } | ||
53 | + } | ||
54 | +}; | ||
0 | \ No newline at end of file | 55 | \ No newline at end of file |
admin1/js/core.js
@@ -157,7 +157,12 @@ if(typeof jQuery != 'undefined' ){ | @@ -157,7 +157,12 @@ if(typeof jQuery != 'undefined' ){ | ||
157 | } | 157 | } |
158 | } | 158 | } |
159 | }; | 159 | }; |
160 | - | 160 | + function core_parseMustacheBody (hashMustache){ |
161 | + var re = new RegExp("&", "g"), m; | ||
162 | + m = Mustache.render(document.body.innerHTML, i3GEO.idioma.objetoIdioma(hashMustache)); | ||
163 | + m = m.replace(re, '&'); | ||
164 | + document.body.innerHTML = m; | ||
165 | + } | ||
161 | //autocomlete | 166 | //autocomlete |
162 | (function( $ ) { | 167 | (function( $ ) { |
163 | $.widget( "custom.combobox", $.ui.autocomplete, { | 168 | $.widget( "custom.combobox", $.ui.autocomplete, { |
@@ -269,1662 +274,4 @@ if(typeof jQuery != 'undefined' ){ | @@ -269,1662 +274,4 @@ if(typeof jQuery != 'undefined' ){ | ||
269 | } | 274 | } |
270 | }); | 275 | }); |
271 | })( jQuery ); | 276 | })( jQuery ); |
272 | -} | ||
273 | - | ||
274 | -function cabecalhoMetaestat(id,excluir){ | ||
275 | - var botao,i,n,temp, | ||
276 | - ins = "<fieldset><legend>" + $trad("atalhos",i3GEOadmin.core.dicionario) + "</legend>", | ||
277 | - u = i3GEO.util.pegaCookie("i3geousuarionome"), | ||
278 | - botoes = [ | ||
279 | - {id:"principal",titulo:$trad("inicio",i3GEOadmin.core.dicionario),link:"../principal.html"}, | ||
280 | - {id:"arvore",titulo:$trad("arvoreCompleta",i3GEOadmin.core.dicionario),link:"estat_variavel.html"}, | ||
281 | - {id:"conexao",titulo:$trad("conexoes",i3GEOadmin.core.dicionario),link:"estat_conexao.html"}, | ||
282 | - {id:"tipo_regiao",titulo:$trad("regioes",i3GEOadmin.core.dicionario),link:"estat_tipo_regiao.html"}, | ||
283 | - {id:"login",titulo:$trad("login",i3GEOadmin.core.dicionario),js:"i3GEO.login.dialogo.abreLogin()"} | ||
284 | - ]; | ||
285 | - n = botoes.length; | ||
286 | - for(i=0;i<n;i++){ | ||
287 | - if(botoes[i].id !== excluir){ | ||
288 | - ins += '<input type=button id="'+botoes[i].id+'" value="'+botoes[i].titulo+'" />'; | ||
289 | - } | ||
290 | - } | ||
291 | - if(!u){ | ||
292 | - u = "-"; | ||
293 | - } | ||
294 | - ins += "<div id='i3GEONomeLogin' style=width:100%; > Login: "+u+"</div>"; | ||
295 | - ins += "</fieldset>"; | ||
296 | - temp = $i(id); | ||
297 | - if(temp){ | ||
298 | - temp.innerHTML = ins; | ||
299 | - for(i=0;i<n;i++){ | ||
300 | - if(excluir === "principal" && botoes[i].link) | ||
301 | - {botoes[i].link = "html/"+botoes[i].link;} | ||
302 | - if(botoes[i].id !== excluir){ | ||
303 | - botao = new YAHOO.widget.Button(botoes[i].id); | ||
304 | - botao.addClass("abrir150"); | ||
305 | - if(botoes[i].link){ | ||
306 | - eval('$i("'+botoes[i].id+'-button'+'").onclick = function(){window.location = \''+botoes[i].link+'\';}'); | ||
307 | - } | ||
308 | - else{ | ||
309 | - eval('$i("'+botoes[i].id+'-button'+'").onclick = function(){'+botoes[i].js+';}'); | ||
310 | - } | ||
311 | - | ||
312 | - } | ||
313 | - } | ||
314 | - } | ||
315 | - try{ | ||
316 | - i3GEO.login.recarrega = true; | ||
317 | - } | ||
318 | - catch(e){ } | ||
319 | -} | ||
320 | - | ||
321 | -function cabecalhoUsuarios(id,excluir){ | ||
322 | - var botao,i,n,temp, | ||
323 | - ins = "<fieldset><legend>" + $trad("atalhos",i3GEOadmin.core.dicionario) + "</legend>", | ||
324 | - u = i3GEO.util.pegaCookie("i3geousuarionome"), | ||
325 | - botoes = [ | ||
326 | - {id:"principal",titulo:$trad("inicio",i3GEOadmin.core.dicionario),link:"../principal.html"}, | ||
327 | - {id:"operacoes",titulo:$trad("operacoes",i3GEOadmin.core.dicionario),link:"operacoes.html"}, | ||
328 | - {id:"usuarios",titulo:$trad("usuarios",i3GEOadmin.core.dicionario),link:"usuarios.html"}, | ||
329 | - {id:"gruposusuarios",titulo:$trad("gruposUsuarios",i3GEOadmin.core.dicionario),link:"gruposusuarios.html"}, | ||
330 | - {id:"login",titulo:$trad("login",i3GEOadmin.core.dicionario),js:"i3GEO.login.dialogo.abreLogin()"} | ||
331 | - ]; | ||
332 | - n = botoes.length; | ||
333 | - for(i=0;i<n;i++){ | ||
334 | - if(botoes[i].id !== excluir){ | ||
335 | - ins += '<input type=button id="'+botoes[i].id+'" value="'+botoes[i].titulo+'" />'; | ||
336 | - } | ||
337 | - } | ||
338 | - if(!u){ | ||
339 | - u = "-"; | ||
340 | - } | ||
341 | - ins += "<div id='i3GEONomeLogin' style=width:100%; > Login: "+u+"</div>"; | ||
342 | - ins += "</fieldset>"; | ||
343 | - temp = $i(id); | ||
344 | - if(temp){ | ||
345 | - temp.innerHTML = ins; | ||
346 | - for(i=0;i<n;i++){ | ||
347 | - if(excluir === "principal" && botoes[i].link) | ||
348 | - {botoes[i].link = "html/"+botoes[i].link;} | ||
349 | - if(botoes[i].id !== excluir){ | ||
350 | - botao = new YAHOO.widget.Button(botoes[i].id); | ||
351 | - botao.addClass("abrir150"); | ||
352 | - if(botoes[i].link){ | ||
353 | - eval('$i("'+botoes[i].id+'-button'+'").onclick = function(){window.location = \''+botoes[i].link+'\';}'); | ||
354 | - } | ||
355 | - else{ | ||
356 | - eval('$i("'+botoes[i].id+'-button'+'").onclick = function(){'+botoes[i].js+';}'); | ||
357 | - } | ||
358 | - | ||
359 | - } | ||
360 | - } | ||
361 | - } | ||
362 | - try{ | ||
363 | - i3GEO.login.recarrega = true; | ||
364 | - } | ||
365 | - catch(e){ } | ||
366 | - //temp.style.border = "solid 1px gray"; | ||
367 | - //temp.style.padding = "10px"; | ||
368 | -} | ||
369 | -function cabecalhoGeral(id,excluir,prefixo){ | ||
370 | - if(!prefixo){ | ||
371 | - prefixo = ""; | ||
372 | - } | ||
373 | - var botao,i,n,temp, | ||
374 | - ins = "<fieldset><legend>" + $trad("atalhos",i3GEOadmin.core.dicionario) + "</legend>", | ||
375 | - u = i3GEO.util.pegaCookie("i3geousuarionome"), | ||
376 | - botoes = [ | ||
377 | - {id:"principal",titulo:$trad("inicio",i3GEOadmin.core.dicionario),link:prefixo+"../principal.html"}, | ||
378 | - {id:"menus",titulo:$trad("menus",i3GEOadmin.core.dicionario),link:prefixo+"menus.html"}, | ||
379 | - {id:"arvore",titulo:$trad("arvore",i3GEOadmin.core.dicionario),link:prefixo+"arvore.html"}, | ||
380 | - {id:"editormapfile",titulo:$trad("mapfiles",i3GEOadmin.core.dicionario),link:prefixo+"editormapfile.html"}, | ||
381 | - {id:"login",titulo:$trad("login",i3GEOadmin.core.dicionario),js:"i3GEO.login.dialogo.abreLogin()"} | ||
382 | - ]; | ||
383 | - n = botoes.length; | ||
384 | - for(i=0;i<n;i++){ | ||
385 | - if(botoes[i].id !== excluir){ | ||
386 | - ins += '<input type=button id="'+botoes[i].id+'" value="'+botoes[i].titulo+'" />'; | ||
387 | - } | ||
388 | - } | ||
389 | - if(!u){ | ||
390 | - u = "-"; | ||
391 | - } | ||
392 | - ins += "<div id='i3GEONomeLogin' style=width:100%; > Login: "+u+"</div>"; | ||
393 | - ins += "</fieldset>"; | ||
394 | - temp = $i(id); | ||
395 | - temp.innerHTML = ins; | ||
396 | - for(i=0;i<n;i++){ | ||
397 | - if(excluir === "principal" && botoes[i].link) | ||
398 | - {botoes[i].link = "html/"+botoes[i].link;} | ||
399 | - if(botoes[i].id !== excluir){ | ||
400 | - botao = new YAHOO.widget.Button(botoes[i].id); | ||
401 | - botao.addClass("abrir150"); | ||
402 | - if(botoes[i].link){ | ||
403 | - eval('$i("'+botoes[i].id+'-button'+'").onclick = function(){window.location = \''+botoes[i].link+'\';}'); | ||
404 | - } | ||
405 | - else{ | ||
406 | - eval('$i("'+botoes[i].id+'-button'+'").onclick = function(){'+botoes[i].js+';}'); | ||
407 | - } | ||
408 | - | ||
409 | - } | ||
410 | - } | ||
411 | - try{ | ||
412 | - i3GEO.login.recarrega = true; | ||
413 | - } | ||
414 | - catch(e){ } | ||
415 | -} | ||
416 | -/* | ||
417 | -Function: core_arvore | ||
418 | - | ||
419 | -Cria uma arvore com base em um objeto contendo as propriedades. | ||
420 | - | ||
421 | -No objeto com as propriedades, se "url" for igual a "", sera incluido o texto original definido em "text". | ||
422 | - | ||
423 | -Parametros: | ||
424 | - | ||
425 | -titulo - {String} cabecalho da arvore | ||
426 | - | ||
427 | -onde - {String} nome do id doelemento que contera a arvore | ||
428 | - | ||
429 | -obj - {Object} objeto contendo os parametros, exemplo | ||
430 | - | ||
431 | - g_listaPropriedades = { | ||
432 | - | ||
433 | - "propriedades": [ | ||
434 | - | ||
435 | - { text: "p2", url: "javascript:tipoimagem()" } | ||
436 | - | ||
437 | - ]} | ||
438 | - | ||
439 | - */ | ||
440 | -function core_arvore(titulo,onde,obj){ | ||
441 | - var arvore,root,tempNode,d,c,i,linha,conteudo,j,temaNode; | ||
442 | - if(!$i(onde)){return;} | ||
443 | - arvore = new YAHOO.widget.TreeView(onde); | ||
444 | - root = arvore.getRoot(); | ||
445 | - try{ | ||
446 | - tempNode = new YAHOO.widget.TextNode('', root, false); | ||
447 | - tempNode.isLeaf = false; | ||
448 | - tempNode.enableHighlight = false; | ||
449 | - } | ||
450 | - catch(e){ | ||
451 | - if(typeof(console) !== 'undefined'){console.error(e);} | ||
452 | - } | ||
453 | - titulo = "<table><tr><td><b>"+titulo+"</b></td><td></td></tr></table>"; | ||
454 | - d = {html:titulo}; | ||
455 | - tempNode = new YAHOO.widget.HTMLNode(d, root, true,true); | ||
456 | - tempNode.enableHighlight = false; | ||
457 | - c = obj.propriedades.length; | ||
458 | - for (i=0, j=c; i<j; i++){ | ||
459 | - linha = obj.propriedades[i]; | ||
460 | - if(linha.url !== "") | ||
461 | - {conteudo = "<a href='#' onclick='"+linha.url+"'>"+linha.text+"</a>";} | ||
462 | - else | ||
463 | - {conteudo = linha.text;} | ||
464 | - d = {html:conteudo}; | ||
465 | - temaNode = new YAHOO.widget.HTMLNode(d, tempNode, false,true); | ||
466 | - temaNode.enableHighlight = false; | ||
467 | - } | ||
468 | - arvore.collapseAll(); | ||
469 | - arvore.draw(); | ||
470 | -} | ||
471 | -/* | ||
472 | -Function: core_movimentaNo | ||
473 | - | ||
474 | -Movimenta um no para cima ou para baixo na árvore. | ||
475 | - | ||
476 | -Essa função utiliza uma árvore que deve estar armazenada no objeto tree | ||
477 | - | ||
478 | -Parameters: | ||
479 | - | ||
480 | -tipo - sobe|desce | ||
481 | - | ||
482 | -no - objeto no que será movimentado | ||
483 | - | ||
484 | -Return: | ||
485 | - | ||
486 | -true|false - se o movimento ocorreu | ||
487 | - */ | ||
488 | -function core_movimentaNo(tipo,no) | ||
489 | -{ | ||
490 | - var movimenta = false; | ||
491 | - if(tipo == "sobe") | ||
492 | - { | ||
493 | - var noanterior = no.previousSibling; | ||
494 | - if(noanterior) | ||
495 | - { | ||
496 | - if(noanterior.previousSibling && noanterior.data.tipo != "etiqueta") | ||
497 | - { | ||
498 | - tree.popNode(no); | ||
499 | - no.insertBefore(noanterior); | ||
500 | - tree.draw(); | ||
501 | - movimenta = true; | ||
502 | - } | ||
503 | - } | ||
504 | - } | ||
505 | - if(tipo == "desce") | ||
506 | - { | ||
507 | - var noseguinte = no.nextSibling; | ||
508 | - if(noseguinte) | ||
509 | - { | ||
510 | - tree.popNode(no); | ||
511 | - no.insertAfter(noseguinte); | ||
512 | - tree.draw(); | ||
513 | - movimenta = true; | ||
514 | - } | ||
515 | - } | ||
516 | - return movimenta; | ||
517 | -} | ||
518 | -/* | ||
519 | -Function: core_handleSuccess | ||
520 | - | ||
521 | -Processa o retorno da chamada em ajax quando tiver sucesso. Esta é uma | ||
522 | -função genérica, pouco usada. | ||
523 | - | ||
524 | -Parameters: | ||
525 | - | ||
526 | -o - string retornada pelo ajax | ||
527 | - */ | ||
528 | -function core_handleSuccess(o) | ||
529 | -{ | ||
530 | - //div onde será mostrado o log | ||
531 | - if(!$i('logajax')) | ||
532 | - {document.body.innerHTML += "<div id=logajax ></div>";} | ||
533 | - log = $i('logajax'); | ||
534 | - YAHOO.log("The success handler was called. tId: " + o.tId + ".", "info", "example"); | ||
535 | - if(o.responseText !== undefined) | ||
536 | - { | ||
537 | - log.innerHTML = "<li>Transaction id: " + o.tId + "</li>"; | ||
538 | - log.innerHTML += "<li>HTTP status: " + o.status + "</li>"; | ||
539 | - log.innerHTML += "<li>Status code message: " + o.statusText + "</li>"; | ||
540 | - log.innerHTML += "<li>HTTP headers: <ul>" + o.getAllResponseHeaders + "</ul></li>"; | ||
541 | - log.innerHTML += "<li>Server response: " + o.responseText + "</li>"; | ||
542 | - log.innerHTML += "<li>Argument object: Object ( [foo] => " + o.argument.foo + " [bar] => " + o.argument.bar +" )</li>"; | ||
543 | - } | ||
544 | -} | ||
545 | -/* | ||
546 | -Function: core_handleFailure | ||
547 | - | ||
548 | -Processa o retorno da chamada em ajax quando tiver falhado. | ||
549 | - | ||
550 | -Parameters: | ||
551 | - | ||
552 | -o - string retornada pelo ajax | ||
553 | - */ | ||
554 | -function core_handleFailure(o,texto) | ||
555 | -{ | ||
556 | - //div onde será mostrado o log | ||
557 | - //alert(texto) | ||
558 | - if(!$i('logajax')) | ||
559 | - {return;} | ||
560 | - log = $i('logajax'); | ||
561 | - //YAHOO.log("The failure handler was called. tId: " + o.tId + ".", "info", "example"); | ||
562 | - if(o.responseText !== undefined) | ||
563 | - { | ||
564 | - if(o.statusText != "OK"){ | ||
565 | - log.innerHTML = "<ul><li>Transaction id: " + o.tId + "</li>"; | ||
566 | - log.innerHTML += "<li>HTTP status: " + o.status + "</li>"; | ||
567 | - log.innerHTML += "<li>Status code message: " + o.statusText + "</li>"; | ||
568 | - log.innerHTML += "<li>PHP message: " + texto + "</li></ul>"; | ||
569 | - } | ||
570 | - } | ||
571 | - if (!YAHOO.carregando.container.wait) | ||
572 | - { | ||
573 | - YAHOO.carregando.container.wait = new YAHOO.widget.Panel("wait",{width: "240px",fixedcenter: true,close: true,draggable: false,zindex:4,modal: true,visible: false}); | ||
574 | - YAHOO.carregando.container.wait.setHeader("Aguarde..."); | ||
575 | - YAHOO.carregando.container.wait.render(document.body); | ||
576 | - } | ||
577 | - else | ||
578 | - {YAHOO.carregando.container.wait.setBody(log.innerHTML);} | ||
579 | -} | ||
580 | -/* | ||
581 | -Function: core_makeRequest | ||
582 | - | ||
583 | -Executa uma chamada em ajax. | ||
584 | - | ||
585 | -Parameters: | ||
586 | - | ||
587 | -sUrl - url que será executada | ||
588 | - | ||
589 | -callback - função que processará o retorno | ||
590 | - | ||
591 | -tipo - GET ou POST | ||
592 | - | ||
593 | -postpar - parametros quando o tipo for post | ||
594 | - */ | ||
595 | -function core_makeRequest(sUrl,callback,tipo,postpar) | ||
596 | -{ | ||
597 | - sUrl = escape(sUrl); | ||
598 | - re = new RegExp("%3F", "g"); | ||
599 | - sUrl = sUrl.replace(re,'?'); | ||
600 | - re = new RegExp("%3D", "g"); | ||
601 | - sUrl = sUrl.replace(re,'='); | ||
602 | - re = new RegExp("%26", "g"); | ||
603 | - sUrl = sUrl.replace(re,'&'); | ||
604 | - | ||
605 | - re = new RegExp("%3A", "g"); | ||
606 | - sUrl = sUrl.replace(re,':'); | ||
607 | - | ||
608 | - if(arguments.length == 2) | ||
609 | - {tipo = "GET";} | ||
610 | - if(postpar){ | ||
611 | - //YAHOO.util.Connect.setDefaultPostHeader('application/json;charset=ISO-8859-1'); | ||
612 | - YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postpar); | ||
613 | - } | ||
614 | - else{ | ||
615 | - YAHOO.util.Connect.asyncRequest(tipo, sUrl, callback); | ||
616 | - } | ||
617 | -} | ||
618 | -/* | ||
619 | -Function: core_carregando | ||
620 | - | ||
621 | -Mostra uma janela de aguarde | ||
622 | - | ||
623 | -Parameters: | ||
624 | - | ||
625 | -tipo - ativa|desativa|string com uma mensagem | ||
626 | - */ | ||
627 | -function core_carregando(tipo) | ||
628 | -{ | ||
629 | -} | ||
630 | -/* | ||
631 | -Function: core_dialogoContinua | ||
632 | - | ||
633 | -Mostra um diálogo do tipo sim não | ||
634 | - | ||
635 | -Parameters: | ||
636 | - | ||
637 | -handleYes - função para sim | ||
638 | - | ||
639 | -handleNo - função para não | ||
640 | - | ||
641 | -mensagem - mensagem do diálogo | ||
642 | - | ||
643 | -largura - largura do diálogo em px | ||
644 | - */ | ||
645 | -function core_dialogoContinua(handleYes,handleNo,mensagem,largura,cabecalho) | ||
646 | -{ | ||
647 | - if(!cabecalho || cabecalho === ""){ | ||
648 | - cabecalho = "Tem certeza?"; | ||
649 | - } | ||
650 | - // Instantiate the Dialog | ||
651 | - YAHOO.namespace("continua.container"); | ||
652 | - YAHOO.continua.container.simpledialog1 = | ||
653 | - new YAHOO.widget.SimpleDialog("simpledialog1", | ||
654 | - { width: largura+"px", | ||
655 | - fixedcenter: true, | ||
656 | - visible: false, | ||
657 | - draggable: false, | ||
658 | - close: true, | ||
659 | - text: mensagem, | ||
660 | - icon: YAHOO.widget.SimpleDialog.ICON_HELP, | ||
661 | - modal: true, | ||
662 | - constraintoviewport: true, | ||
663 | - buttons: [ { text:"Sim", handler:handleYes, isDefault:true }, | ||
664 | - { text:"Não", handler:handleNo } ] | ||
665 | - } ); | ||
666 | - YAHOO.continua.container.simpledialog1.setHeader(cabecalho); | ||
667 | - YAHOO.continua.container.simpledialog1.render(document.body); | ||
668 | - YAHOO.continua.container.simpledialog1.show(); | ||
669 | -} | ||
670 | -/* | ||
671 | -Function: core_dialogoPergunta | ||
672 | - | ||
673 | -Mostra um diálogo do tipo sim não com uma pergunta | ||
674 | - | ||
675 | -Parameters: | ||
676 | - | ||
677 | -handleYes - função para sim | ||
678 | - | ||
679 | -handleNo - função para não | ||
680 | - | ||
681 | -mensagem - mensagem do diálogo | ||
682 | - | ||
683 | -largura - largura do diálogo em px | ||
684 | - */ | ||
685 | -function core_dialogoPergunta(handleYes,handleNo,mensagem,largura) | ||
686 | -{ | ||
687 | - // Instantiate the Dialog | ||
688 | - YAHOO.namespace("continua.container"); | ||
689 | - YAHOO.continua.container.simpledialog1 = | ||
690 | - new YAHOO.widget.SimpleDialog("simpledialog1", | ||
691 | - { width: largura+"px", | ||
692 | - fixedcenter: true, | ||
693 | - visible: false, | ||
694 | - draggable: false, | ||
695 | - close: true, | ||
696 | - text: mensagem, | ||
697 | - icon: "", | ||
698 | - modal: true, | ||
699 | - constraintoviewport: true, | ||
700 | - buttons: [ { text:"Continua", handler:handleYes, isDefault:true }, | ||
701 | - { text:"Cancela", handler:handleNo } ] | ||
702 | - } ); | ||
703 | - //YAHOO.continua.container.simpledialog1.setHeader("Tem certeza?"); | ||
704 | - YAHOO.continua.container.simpledialog1.render(document.body); | ||
705 | - YAHOO.continua.container.simpledialog1.show(); | ||
706 | -} | ||
707 | -/* | ||
708 | -Function: core_ativaPainelAjuda | ||
709 | - | ||
710 | -Parameters: | ||
711 | - | ||
712 | -id - id do elemento que receberá o painel | ||
713 | - | ||
714 | -botao - id do elemento que deverá ser lcicado para abrir o painel | ||
715 | - */ | ||
716 | -function core_ativaPainelAjuda(id,botao) | ||
717 | -{ | ||
718 | - $i(id).style.display = "block"; | ||
719 | - if(!YAHOO.admin.container.panelAjuda) | ||
720 | - { | ||
721 | - YAHOO.admin.container.panelAjuda = new YAHOO.widget.Panel(id, { width:"350px", height:"200px",overflow:"auto", visible:false,constraintoviewport:true } ); | ||
722 | - YAHOO.admin.container.panelAjuda.render(); | ||
723 | - } | ||
724 | - if(arguments.length == 2) | ||
725 | - YAHOO.util.Event.addListener(botao, "click", YAHOO.admin.container.panelAjuda.show, YAHOO.admin.container.panelAjuda, true); | ||
726 | - else | ||
727 | - YAHOO.admin.container.panelAjuda.show(); | ||
728 | -} | ||
729 | -/* | ||
730 | -Function: core_ativaPainelTexto | ||
731 | - | ||
732 | -Parameters: | ||
733 | - | ||
734 | -id - id do elemento que receberá o painel | ||
735 | - */ | ||
736 | -function core_ativaPainelTexto(id) | ||
737 | -{ | ||
738 | - YAHOO.admin.container.panelTexto = new YAHOO.widget.Panel(id, { width:"350px", height:"200px",overflow:"auto", visible:false,constraintoviewport:true } ); | ||
739 | - YAHOO.admin.container.panelTexto.render(); | ||
740 | - YAHOO.admin.container.panelTexto.show(); | ||
741 | -} | ||
742 | -/* | ||
743 | -function: core_pegaPerfis | ||
744 | - | ||
745 | -Pega a lista de perfis | ||
746 | - | ||
747 | -<PEGAPERFIS> | ||
748 | - | ||
749 | -Parameters: | ||
750 | - | ||
751 | -funcao - (opcional) string com o nome da funcao que será executada apos a chamada ajax ter tido sucesso | ||
752 | - | ||
753 | -Return | ||
754 | - | ||
755 | -$perfis - variável global com o objeto perfis | ||
756 | - | ||
757 | -$perfisArray - array com a lista de perfis | ||
758 | - */ | ||
759 | -function core_pegaPerfis(funcao) | ||
760 | -{ | ||
761 | - if(arguments.length == 0) | ||
762 | - {funcao = "";} | ||
763 | - //pega a lista de perfis | ||
764 | - var sUrl = "../php/menutemas.php?funcao=pegaPerfis"; | ||
765 | - var callback = | ||
766 | - { | ||
767 | - success:function(o) | ||
768 | - { | ||
769 | - try | ||
770 | - { | ||
771 | - $perfis = YAHOO.lang.JSON.parse(o.responseText); | ||
772 | - $perfisArray = new Array(); | ||
773 | - for (var i=0;i<$perfis.length;i++) | ||
774 | - {$perfisArray.push($perfis[i].perfil);} | ||
775 | - if(funcao != "") | ||
776 | - eval(funcao); | ||
777 | - } | ||
778 | - catch(e){core_handleFailure(o,o.responseText);} | ||
779 | - }, | ||
780 | - failure:core_handleFailure, | ||
781 | - argument: { foo:"foo", bar:"bar" } | ||
782 | - }; | ||
783 | - core_makeRequest(sUrl,callback); | ||
784 | -} | ||
785 | -/* | ||
786 | -function: core_pegaMapfiles | ||
787 | - | ||
788 | -Pega a lista de mapfiles | ||
789 | - | ||
790 | -<LISTAMAPSTEMAS> | ||
791 | - | ||
792 | -Parameters: | ||
793 | - | ||
794 | -funcaoM - (opcional) nome da funcao que será executada ao terminar a busca pelos dados | ||
795 | - | ||
796 | -letra - (opcional) letra inicial utilizada para filtrar a lista | ||
797 | - | ||
798 | -filtro - (opcional) string com o filtro, por exemplo, "'download_tema' = 'SIM'" | ||
799 | - | ||
800 | -checaNomes - (0pcional) bate o nome do mapfile (tema) com o registro no banco | ||
801 | - | ||
802 | -checaNames - (opcional) bate o nome do mapfile com o nome do layer | ||
803 | - */ | ||
804 | -function core_pegaMapfiles(funcaoM,letra,filtro,checaNomes,checaNames) | ||
805 | -{ | ||
806 | - if(!letra){ | ||
807 | - letra = ""; | ||
808 | - } | ||
809 | - if(!filtro){ | ||
810 | - filtro = ""; | ||
811 | - } | ||
812 | - if(!funcaoM){ | ||
813 | - funcaoM = ""; | ||
814 | - } | ||
815 | - if(!checaNomes){ | ||
816 | - checaNomes = "false"; | ||
817 | - } | ||
818 | - if(!checaNames){ | ||
819 | - checaNames = "false"; | ||
820 | - } | ||
821 | - if($i("iniciaisLetras")){ | ||
822 | - $i("iniciaisLetras").value = letra; | ||
823 | - } | ||
824 | - var sUrl = "../php/menutemas.php?funcao=listaMapsTemas&letra="+letra+"&filtro="+filtro+"&checaNomes="+checaNomes+"&checaNames="+checaNames; | ||
825 | - var callbackM = | ||
826 | - { | ||
827 | - success:function(o) | ||
828 | - { | ||
829 | - try | ||
830 | - { | ||
831 | - $mapfiles = YAHOO.lang.JSON.parse(o.responseText); | ||
832 | - if(funcaoM != "") | ||
833 | - eval(funcaoM); | ||
834 | - } | ||
835 | - catch(e){core_handleFailure(o,o.responseText);} | ||
836 | - }, | ||
837 | - failure:core_handleFailure, | ||
838 | - argument: { foo:"foo", bar:"bar" } | ||
839 | - }; | ||
840 | - core_makeRequest(sUrl,callbackM); | ||
841 | -} | ||
842 | -/* | ||
843 | -Function: core_comboMapfiles | ||
844 | - | ||
845 | -Cria um combo para escolha do mapfile | ||
846 | - | ||
847 | -Parameters: | ||
848 | - | ||
849 | -onde - id do elemento que receberá o combo | ||
850 | - | ||
851 | -id - id do combo que será criado | ||
852 | - | ||
853 | -marcar - valor que será marcado como selecionado | ||
854 | - | ||
855 | -funcao - string com o nome da função que será executada no evento onchange | ||
856 | - | ||
857 | -recarrega {booblean} - força recarregar o combo de mapfiles | ||
858 | - */ | ||
859 | -function core_comboMapfiles(onde,id,marcar,funcao,recarrega) | ||
860 | -{ | ||
861 | - if(arguments.length == 3) | ||
862 | - {funcao = "";} | ||
863 | - if(!recarrega) | ||
864 | - {recarrega = false;} | ||
865 | - if($mapfiles == "" || recarrega === true) | ||
866 | - { | ||
867 | - core_pegaMapfiles("core_comboMapfiles('"+onde+"','"+id+"','"+marcar+"','"+funcao+"')"); | ||
868 | - } | ||
869 | - else | ||
870 | - { | ||
871 | - if (funcao != "") | ||
872 | - {funcao = "onchange='"+funcao+"'";} | ||
873 | - ins = "<div class='styled-select'><select id='"+id+"' "+funcao+" >"; | ||
874 | - ins += core_comboObjeto($mapfiles,"codigo","codigo",marcar); | ||
875 | - ins += "</select></div>"; | ||
876 | - $i(onde).innerHTML = ins; | ||
877 | - } | ||
878 | -} | ||
879 | -/* | ||
880 | -Function: core_comboPerfis | ||
881 | - | ||
882 | -Cria um combo para escolha de perfil | ||
883 | - | ||
884 | -Parameters: | ||
885 | - | ||
886 | -onde - id do elemento que receberá o combo | ||
887 | - | ||
888 | -id - id do combo que será criado | ||
889 | - | ||
890 | -marcar - valor que será marcado como selecionado | ||
891 | - | ||
892 | -funcao - string com o nome da função que será executada no evento onchange | ||
893 | - */ | ||
894 | -function core_comboPerfis(onde,id,marcar,funcao) | ||
895 | -{ | ||
896 | - if(arguments.length == 3) | ||
897 | - {funcao = "";} | ||
898 | - if($perfis == "") | ||
899 | - { | ||
900 | - core_pegaPerfis("core_comboPerfis('"+onde+"','"+id+"','"+marcar+"','"+funcao+"')"); | ||
901 | - } | ||
902 | - else | ||
903 | - { | ||
904 | - if (funcao != "") | ||
905 | - {funcao = "onchange='"+funcao+"'";} | ||
906 | - ins = "<div class='styled-select150'><select id='"+id+"' "+funcao+" >"; | ||
907 | - ins += core_comboObjeto($perfis,"perfil","perfil",marcar); | ||
908 | - ins += "</select></div>"; | ||
909 | - $i(onde).innerHTML = ins; | ||
910 | - } | ||
911 | -} | ||
912 | -/* | ||
913 | -Function: core_comboPranchas | ||
914 | - | ||
915 | -Cria um combo para escolha de pranchas de um atlas | ||
916 | - | ||
917 | -<PEGAPRANCHAS> | ||
918 | - | ||
919 | -Parameters: | ||
920 | - | ||
921 | -onde - id do elemento que receberá o combo | ||
922 | - | ||
923 | -id - id do combo que será criado | ||
924 | - | ||
925 | -marcar - valor que será marcado como selecionado | ||
926 | - | ||
927 | -funcao - string com o nome da função que será executada no evento onchange | ||
928 | - */ | ||
929 | -function core_comboPranchas(onde,id,marcar,funcao,id_atlas) | ||
930 | -{ | ||
931 | - var sUrl = "../php/atlas.php?funcao=pegaPranchas&id_atlas="+id_atlas; | ||
932 | - var callback = | ||
933 | - { | ||
934 | - success:function(o) | ||
935 | - { | ||
936 | - try | ||
937 | - { | ||
938 | - var valores = YAHOO.lang.JSON.parse(o.responseText); | ||
939 | - if(arguments.length == 3) | ||
940 | - {funcao = "";} | ||
941 | - if (funcao != "") | ||
942 | - {funcao = "onchange='"+funcao+"'";} | ||
943 | - ins = "<div class='styled-select150'><select id='"+id+"' "+funcao+" >"; | ||
944 | - ins += core_comboObjeto(valores,"id_prancha","titulo_prancha",marcar); | ||
945 | - ins += "</select></div>"; | ||
946 | - $i(onde).innerHTML = ins; | ||
947 | - } | ||
948 | - catch(e){core_handleFailure(e,o.responseText);} | ||
949 | - }, | ||
950 | - failure:core_handleFailure, | ||
951 | - argument: { foo:"foo", bar:"bar" } | ||
952 | - }; | ||
953 | - core_makeRequest(sUrl,callback); | ||
954 | -} | ||
955 | -/* | ||
956 | -Function: core_comboGrupos | ||
957 | - | ||
958 | -Cria um combo para escolha de um grupo | ||
959 | - | ||
960 | -<PEGAGRUPOS> | ||
961 | - | ||
962 | -Parameters: | ||
963 | - | ||
964 | -onde - id do elemento que receberá o combo | ||
965 | - | ||
966 | -id - id do combo que será criado | ||
967 | - | ||
968 | -marcar - valor que será marcado como selecionado | ||
969 | - | ||
970 | -funcao - string com o nome da função que será executada no evento onchange | ||
971 | - */ | ||
972 | -function core_comboGrupos(onde,id,marcar,funcao) | ||
973 | -{ | ||
974 | - var sUrl = "../php/menutemas.php?funcao=pegaGrupos"; | ||
975 | - var callback = | ||
976 | - { | ||
977 | - success:function(o) | ||
978 | - { | ||
979 | - try | ||
980 | - { | ||
981 | - var valores = YAHOO.lang.JSON.parse(o.responseText); | ||
982 | - if(arguments.length == 3) | ||
983 | - {funcao = "";} | ||
984 | - if (funcao != "") | ||
985 | - {funcao = "onchange='"+funcao+"'";} | ||
986 | - ins = "<select size=6 style='width:370px;font-size:12px; margin: 0px;' id='"+id+"' "+funcao+" >"; | ||
987 | - ins += core_comboObjeto(valores,"id_grupo","nome_grupo",marcar); | ||
988 | - ins += "</select>"; | ||
989 | - $i(onde).innerHTML = ins; | ||
990 | - } | ||
991 | - catch(e){core_handleFailure(e,o.responseText);} | ||
992 | - }, | ||
993 | - failure:core_handleFailure, | ||
994 | - argument: { foo:"foo", bar:"bar" } | ||
995 | - }; | ||
996 | - core_makeRequest(sUrl,callback); | ||
997 | -} | ||
998 | -/* | ||
999 | -Function: core_comboSubGrupos | ||
1000 | - | ||
1001 | -Cria um combo para escolha de um sub-grupo | ||
1002 | - | ||
1003 | -<PEGASUBGRUPOS> | ||
1004 | - | ||
1005 | -Parameters: | ||
1006 | - | ||
1007 | -onde - id do elemento que receberá o combo | ||
1008 | - | ||
1009 | -id - id do combo que será criado | ||
1010 | - | ||
1011 | -marcar - valor que será marcado como selecionado | ||
1012 | - | ||
1013 | -funcao - string com o nome da função que será executada no evento onchange | ||
1014 | - */ | ||
1015 | -function core_comboSubGrupos(onde,id,marcar,funcao) | ||
1016 | -{ | ||
1017 | - var sUrl = "../php/menutemas.php?funcao=pegaSubGrupos"; | ||
1018 | - var callback = | ||
1019 | - { | ||
1020 | - success:function(o) | ||
1021 | - { | ||
1022 | - try | ||
1023 | - { | ||
1024 | - var valores = YAHOO.lang.JSON.parse(o.responseText); | ||
1025 | - if(arguments.length == 3) | ||
1026 | - {funcao = "";} | ||
1027 | - if (funcao != "") | ||
1028 | - {funcao = "onchange='"+funcao+"'";} | ||
1029 | - ins = "<select size=6 style='width:370px; font-size:12px; margin: 0px;' id='"+id+"' "+funcao+" >"; | ||
1030 | - ins += core_comboObjeto(valores,"id_subgrupo","nome_subgrupo",marcar); | ||
1031 | - ins += "</select>"; | ||
1032 | - $i(onde).innerHTML = ins; | ||
1033 | - } | ||
1034 | - catch(e){core_handleFailure(e,o.responseText);} | ||
1035 | - }, | ||
1036 | - failure:core_handleFailure, | ||
1037 | - argument: { foo:"foo", bar:"bar" } | ||
1038 | - }; | ||
1039 | - core_makeRequest(sUrl,callback); | ||
1040 | -} | ||
1041 | -/* | ||
1042 | -Function: core_comboTemas | ||
1043 | - | ||
1044 | -Cria um combo para escolha de um tema | ||
1045 | - | ||
1046 | -<PEGATEMAS2> | ||
1047 | - | ||
1048 | -Parameters: | ||
1049 | - | ||
1050 | -onde - id do elemento que receberá o combo | ||
1051 | - | ||
1052 | -id - id do combo que será criado | ||
1053 | - | ||
1054 | -marcar - valor que será marcado como selecionado | ||
1055 | - | ||
1056 | -funcao - string com o nome da função que será executada no evento onchange | ||
1057 | - */ | ||
1058 | -function core_comboTemas(onde,id,marcar,funcao) | ||
1059 | -{ | ||
1060 | - var sUrl = "../php/menutemas.php?funcao=pegaTemas2"; | ||
1061 | - var callback = | ||
1062 | - { | ||
1063 | - success:function(o) | ||
1064 | - { | ||
1065 | - try | ||
1066 | - { | ||
1067 | - var valores = YAHOO.lang.JSON.parse(o.responseText); | ||
1068 | - if(arguments.length == 3) | ||
1069 | - {funcao = "";} | ||
1070 | - if (funcao != "") | ||
1071 | - {funcao = "onchange='"+funcao+"'";} | ||
1072 | - ins = "<select size=6 style='width:355px;font-size:12px; margin: 0px;' id='"+id+"' "+funcao+" >"; | ||
1073 | - ins += core_comboObjeto(valores,"id_tema","nome_tema",marcar,"codigo_tema"); | ||
1074 | - ins += "</select>"; | ||
1075 | - $i(onde).innerHTML = ins; | ||
1076 | - } | ||
1077 | - catch(e){core_handleFailure(e,o.responseText);} | ||
1078 | - }, | ||
1079 | - failure:core_handleFailure, | ||
1080 | - argument: { foo:"foo", bar:"bar" } | ||
1081 | - }; | ||
1082 | - core_makeRequest(sUrl,callback); | ||
1083 | -} | ||
1084 | - | ||
1085 | -/* | ||
1086 | -function: core_pegaTags | ||
1087 | - | ||
1088 | -Pega a lista de tags | ||
1089 | - | ||
1090 | -<PEGATAGS> | ||
1091 | - | ||
1092 | -Parameters: | ||
1093 | - | ||
1094 | -funcao - (opcional) nome da funcao que será executada ao terminar a busca pelos dados | ||
1095 | - */ | ||
1096 | -function core_pegaTags(funcao) | ||
1097 | -{ | ||
1098 | - if(arguments.length == 0) | ||
1099 | - {funcao = "";} | ||
1100 | - var sUrl = "../php/menutemas.php?funcao=pegaTags"; | ||
1101 | - var callback = | ||
1102 | - { | ||
1103 | - success:function(o) | ||
1104 | - { | ||
1105 | - try | ||
1106 | - { | ||
1107 | - $tags = YAHOO.lang.JSON.parse(o.responseText); | ||
1108 | - if($tags == ""){$tags = " ";} | ||
1109 | - if(funcao != "") | ||
1110 | - eval(funcao); | ||
1111 | - } | ||
1112 | - catch(e){core_handleFailure(e,o.responseText);} | ||
1113 | - }, | ||
1114 | - failure:core_handleFailure, | ||
1115 | - argument: { foo:"foo", bar:"bar" } | ||
1116 | - }; | ||
1117 | - core_makeRequest(sUrl,callback); | ||
1118 | -} | ||
1119 | -/* | ||
1120 | -Function: core_comboTags | ||
1121 | - | ||
1122 | -Cria um combo para escolha de tags | ||
1123 | - | ||
1124 | -Parameters: | ||
1125 | - | ||
1126 | -onde - id do elemento que receberá o combo | ||
1127 | - | ||
1128 | -id - id do combo que será criado | ||
1129 | - | ||
1130 | -marcar - valor que será marcado como selecionado | ||
1131 | - | ||
1132 | -change - nome da função do evento onchange | ||
1133 | - */ | ||
1134 | -function core_comboTags(onde,id,change) | ||
1135 | -{ | ||
1136 | - if($tags == "") | ||
1137 | - { | ||
1138 | - core_pegaTags("core_comboTags('"+onde+"','"+id+"','"+change+"')"); | ||
1139 | - } | ||
1140 | - else | ||
1141 | - { | ||
1142 | - ins = "<div class='styled-select'><select onchange=\""+change+"(this.value)\" id='"+id+"' >"; | ||
1143 | - ins += core_comboObjeto($tags,"nome","nome",""); | ||
1144 | - ins += "</select></div>"; | ||
1145 | - $i(onde).innerHTML = ins; | ||
1146 | - } | ||
1147 | -} | ||
1148 | -/* | ||
1149 | -Function: gera uma janela flutuante com opções de escolha baseadas em checkbox | ||
1150 | - | ||
1151 | -Parameters: | ||
1152 | - | ||
1153 | -valores - array com os valores de cada checkbox | ||
1154 | - | ||
1155 | -textos - array com os nomes de cada checkbox | ||
1156 | - | ||
1157 | -selecionados - array com os valores marcados | ||
1158 | - | ||
1159 | -target - objeto para receber o resultado | ||
1160 | - | ||
1161 | -record - objeto record (utilize "" para escapar) | ||
1162 | - | ||
1163 | -key - chave (nome do item) (utilize "" para escapar) | ||
1164 | - | ||
1165 | -unico - sim|nao indicando se apenas um pode ser escolhido | ||
1166 | - | ||
1167 | -funcaoFinal - (opcional) funcao que sera executada no final do processo | ||
1168 | - */ | ||
1169 | -function core_menuCheckBox(valores,textos,selecionados,target,record,key,unico,funcaoFinal){ | ||
1170 | - if(!unico){ | ||
1171 | - unico = "nao"; | ||
1172 | - } | ||
1173 | - function on_menuCheckBoxChange(p_oEvent){ | ||
1174 | - var cks,i, | ||
1175 | - ins = [], | ||
1176 | - status = "OK"; | ||
1177 | - if(p_oEvent && p_oEvent.newValue){ | ||
1178 | - status = p_oEvent.newValue.get("value"); | ||
1179 | - } | ||
1180 | - if(status == "OK") { | ||
1181 | - cks = $i("core_menuCK_bd").getElementsByTagName("input"); | ||
1182 | - ins = []; | ||
1183 | - for (i=0;i<cks.length;i++){ | ||
1184 | - if(cks[i].checked){ | ||
1185 | - ins.push(cks[i].value); | ||
1186 | - } | ||
1187 | - } | ||
1188 | - if(record && record != ""){ | ||
1189 | - target.innerHTML = "<pre ><p>"+ins.toString()+"</pre>"; | ||
1190 | - record.setData(key,ins.toString()); | ||
1191 | - } | ||
1192 | - else{ | ||
1193 | - target.value = ins.toString(); | ||
1194 | - } | ||
1195 | - } | ||
1196 | - YAHOO.admin.container.panelCK.destroy(); | ||
1197 | - YAHOO.admin.container.panelCK = null; | ||
1198 | - if(funcaoFinal){ | ||
1199 | - funcaoFinal.call(); | ||
1200 | - } | ||
1201 | - }; | ||
1202 | - var novoel,ndiv,og_core,onde,ins,i,novoCK,ck,j; | ||
1203 | - if(!YAHOO.admin.container.panelCK){ | ||
1204 | - novoel = document.createElement("div"); | ||
1205 | - novoel.id = "core_menuCK"; | ||
1206 | - ndiv = document.createElement("div"); | ||
1207 | - ndiv.className= "yui-dt-editor"; | ||
1208 | - ndiv.style.backgroundColor = "white"; | ||
1209 | - ndiv.style.height = "144px"; | ||
1210 | - ndiv.style.width = "100%"; | ||
1211 | - ndiv.style.overflow = "auto"; | ||
1212 | - ndiv.innerHTML = "<div id='core_botoesCabecalho' ></div><br>" + | ||
1213 | - "<div id='core_menuCK_bd' style='background:white;text-align:left;border:1px solid gray'></div>"; | ||
1214 | - novoel.appendChild(ndiv); | ||
1215 | - document.body.appendChild(novoel); | ||
1216 | - og_core = new YAHOO.widget.ButtonGroup({id:"okcancel_checkbox_id", name:"okcancel_checkbox_id", container:"core_botoesCabecalho" }); | ||
1217 | - og_core.addButtons([ | ||
1218 | - { label: "OK", value: "OK", checked: false}, | ||
1219 | - { label: "Fecha", value: "CANCEL", checked: false } | ||
1220 | - ]); | ||
1221 | - og_core.on("checkedButtonChange", on_menuCheckBoxChange); | ||
1222 | - YAHOO.admin.container.panelCK = new YAHOO.widget.Panel("core_menuCK", { draggable:false,modal:false,zindex:"100",close:false,underlay:false,width:"200px", height:"158px",overflow:"auto", visible:false,constraintoviewport:false } ); | ||
1223 | - YAHOO.admin.container.panelCK.render(); | ||
1224 | - } | ||
1225 | - onde = $i("core_menuCK_bd"); | ||
1226 | - ins = []; | ||
1227 | - onde.innerHTML = ""; | ||
1228 | - for (i=0;i<valores.length;i++){ | ||
1229 | - novoCK = document.createElement("div"); | ||
1230 | - novoCK.onclick = on_menuCheckBoxChange; | ||
1231 | - ck = ""; | ||
1232 | - for(j=0;j<selecionados.length;j++){ | ||
1233 | - if(selecionados[j] == valores[i]) | ||
1234 | - ck = "CHECKED"; | ||
1235 | - } | ||
1236 | - if(unico === "nao"){ | ||
1237 | - ins.push("<input style='cursor:pointer;' type=checkbox id='CK_"+valores[i]+"' value='"+valores[i]+"' "+ck+" />"+textos[i]+"<br>"); | ||
1238 | - } | ||
1239 | - else{ | ||
1240 | - ins.push("<input style='position:relative;top:2px;cursor:pointer;' type=radio name=escolha_core_menuCheckBox id='CK_"+valores[i]+"' value='"+valores[i]+"' "+ck+" />"+textos[i]+"<br>"); | ||
1241 | - } | ||
1242 | - } | ||
1243 | - if(valores.length > 0){ | ||
1244 | - ins.push("<br>"); | ||
1245 | - novoCK.innerHTML = ins.join(" "); | ||
1246 | - novoCK.style.width = "100%"; | ||
1247 | - onde.appendChild(novoCK); | ||
1248 | - } | ||
1249 | - YAHOO.admin.container.panelCK.moveTo(YAHOO.util.Dom.getX(target),YAHOO.util.Dom.getY(target)); | ||
1250 | - YAHOO.admin.container.panelCK.show(); | ||
1251 | - $i("core_menuCK_bd").getElementsByTagName("div")[0].style.textAlign = "left"; | ||
1252 | -} | ||
1253 | -/* | ||
1254 | -Function: core_combosimnao | ||
1255 | - | ||
1256 | -Retorna os itens option de um combo sim nao | ||
1257 | - */ | ||
1258 | -function core_combosimnao(marcar) | ||
1259 | -{ | ||
1260 | - var ins = "<option value='' "; | ||
1261 | - if (marcar == ""){ins += "selected";} | ||
1262 | - ins += ">---</option>"; | ||
1263 | - ins += "<option value='SIM' "; | ||
1264 | - if (marcar == "sim" || marcar == "SIM"){ins += "selected";} | ||
1265 | - ins += ">sim</option>"; | ||
1266 | - ins += "<option value='NAO' "; | ||
1267 | - if (marcar == "nao" || marcar == "NAO"){ins += "selected";} | ||
1268 | - ins += ">nao</option>"; | ||
1269 | - return(ins); | ||
1270 | -} | ||
1271 | -/* | ||
1272 | -Function: core_comboObjeto | ||
1273 | - | ||
1274 | -Retorna os itens option de um combo baseado em um objeto json | ||
1275 | - */ | ||
1276 | -function core_comboObjeto(obj,valor,texto,marcar,texto2,texto3) | ||
1277 | -{ | ||
1278 | - var ins = "<option value='' "; | ||
1279 | - var v; | ||
1280 | - var t; | ||
1281 | - if(!marcar && marcar != ""){ | ||
1282 | - marcar = 0; | ||
1283 | - } | ||
1284 | - ins += ">---</option>"; | ||
1285 | - for (var k=0;k<obj.length;k++){ | ||
1286 | - if(valor != ""){ | ||
1287 | - v = obj[k][valor]; | ||
1288 | - } | ||
1289 | - else{ | ||
1290 | - v = obj[k]; | ||
1291 | - } | ||
1292 | - if(texto != ""){ | ||
1293 | - t = obj[k][texto]; | ||
1294 | - } | ||
1295 | - else{ | ||
1296 | - t = obj[k]; | ||
1297 | - } | ||
1298 | - if(texto2){ | ||
1299 | - t += " ("+eval("obj[k]."+texto2)+")"; | ||
1300 | - } | ||
1301 | - if(texto3){ | ||
1302 | - t += " ("+eval("obj[k]."+texto3)+")"; | ||
1303 | - } | ||
1304 | - ins += "<option value='"+v+"' "; | ||
1305 | - if (marcar == v){ | ||
1306 | - ins += "selected"; | ||
1307 | - } | ||
1308 | - ins += " title='"+t+"' >"+t+"</option>"; | ||
1309 | - } | ||
1310 | - return(ins); | ||
1311 | -} | ||
1312 | -/* | ||
1313 | -Function: core_geraLinhas | ||
1314 | - | ||
1315 | -Gera campos de formulário | ||
1316 | - | ||
1317 | -Parameters: | ||
1318 | - | ||
1319 | -dados - objeto no formato {"linhas":[{titulo:"Nome do tema:",size:"50",id:"Enome_tema",value:i.nome_tema,tipo:"text",div:""}]} | ||
1320 | - */ | ||
1321 | -function core_geraLinhas(dados) | ||
1322 | -{ | ||
1323 | - var nparam = dados.linhas.length; | ||
1324 | - var contaParam = 0; | ||
1325 | - var resultado = ""; | ||
1326 | - core_geralinhasEscondeAjuda = function(id){ | ||
1327 | - var a = $i(id+"_ajuda"), | ||
1328 | - i = $i(id+"_imgajuda"); | ||
1329 | - | ||
1330 | - if(a.style.display == "block"){ | ||
1331 | - a.style.display = "none"; | ||
1332 | - i. src = "../../imagens/oxygen/16x16/help-about.png"; | ||
1333 | - } | ||
1334 | - else{ | ||
1335 | - a.style.display = "block"; | ||
1336 | - i. src = "../../imagens/oxygen/16x16/help-about.png"; | ||
1337 | - } | ||
1338 | - }; | ||
1339 | - do{ | ||
1340 | - var p = dados.linhas[contaParam]; | ||
1341 | - if(p.tipo == "text" || p.tipo == "cor" || p.tipo == "textarea"){ | ||
1342 | - if(!p.size){ | ||
1343 | - p.size = "50"; | ||
1344 | - } | ||
1345 | - if(p.ajuda){ | ||
1346 | - var idajuda; | ||
1347 | - if(p.id !== ""){ | ||
1348 | - idajuda = p.id + contaParam; | ||
1349 | - } | ||
1350 | - else{ | ||
1351 | - idajuda = "a"+parseInt(255*(Math.random()),10); | ||
1352 | - } | ||
1353 | - resultado += "<div onclick='core_geralinhasEscondeAjuda(\""+idajuda+"\")' style='margin-bottom:6px;cursor:pointer' title='ajuda' ><p><img style='position:relative;top:3px;' id='"+idajuda+"_imgajuda' src='../../imagens/oxygen/16x16/help-about.png' >"+p.titulo+"</p></div>"; | ||
1354 | - resultado += "<div id='"+idajuda+"_ajuda' style=display:none >"+p.ajuda+"</div>"; | ||
1355 | - } | ||
1356 | - else{ | ||
1357 | - resultado += "<div><p>"+p.titulo+"</p>"; | ||
1358 | - } | ||
1359 | - if(p.texto){ | ||
1360 | - resultado += "<span style=color:gray ><p>"+p.texto+"</p></span>"; | ||
1361 | - } | ||
1362 | - if(p.id != ""){ | ||
1363 | - if(!p.value){ | ||
1364 | - p.value = ""; | ||
1365 | - } | ||
1366 | - if(p.tipo == "textarea"){ | ||
1367 | - resultado += "<textarea style=width:90%; id="+p.id+" >"+p.value+"</textarea>"; | ||
1368 | - } | ||
1369 | - else{ | ||
1370 | - if(p.tipo == "cor"){ | ||
1371 | - resultado += "<div class='i3geoForm i3geoFormSemIcone'><input type=text id="+p.id+" value=\""+p.value+"\" style='width:90%;'/>"; | ||
1372 | - } | ||
1373 | - else{ | ||
1374 | - resultado += "<div class='i3geoForm i3geoFormSemIcone'><input type=text id="+p.id+" value=\""+p.value+"\" />"; | ||
1375 | - } | ||
1376 | - } | ||
1377 | - if(p.tipo == "cor"){ | ||
1378 | - resultado += " <img class='lupaBuscar' src='../../imagens/aquarela.gif' style='cursor:pointer;' onclick='core_abreCor(\"\",\""+p.id+"\");' />"; | ||
1379 | - } | ||
1380 | - resultado += "</div>"; | ||
1381 | - } | ||
1382 | - if(p.div){ | ||
1383 | - resultado += p.div; | ||
1384 | - } | ||
1385 | - resultado += "</div>"; | ||
1386 | - } | ||
1387 | - contaParam++; | ||
1388 | - } | ||
1389 | - while(contaParam < nparam); | ||
1390 | - return(resultado); | ||
1391 | -} | ||
1392 | -/* | ||
1393 | -Function: core_ativaBotaoAdicionaLinha | ||
1394 | - | ||
1395 | -Ativa o botão que adiciona uma linha em uma tabela no banco de dados e na interface HTML | ||
1396 | - | ||
1397 | -Essa função utiliza o objeto datatable que deve estar armazenado na variável myDataTable | ||
1398 | - | ||
1399 | -Parameters: | ||
1400 | - | ||
1401 | -myDataTable - objeto dataTable do YUI | ||
1402 | - | ||
1403 | -sUrl - url com o programa que será executado no servidor | ||
1404 | - | ||
1405 | -idBotao - id do elemento com o botão | ||
1406 | - | ||
1407 | -nomeFuncao - nome da função que será executada ao concluir a adição da linha | ||
1408 | - */ | ||
1409 | -function core_ativaBotaoAdicionaLinha(sUrl,idBotao,nomeFuncao) | ||
1410 | -{ | ||
1411 | - if(arguments.length == 1){ | ||
1412 | - idBotao = "adiciona"; | ||
1413 | - } | ||
1414 | - if(arguments.length < 3){ | ||
1415 | - nomeFuncao = ""; | ||
1416 | - } | ||
1417 | - var botao, adicionalinha = function(){ | ||
1418 | - core_carregando("ativa"); | ||
1419 | - core_carregando(" adicionando um novo registro"); | ||
1420 | - var callback = { | ||
1421 | - success:function(o){ | ||
1422 | - var texto = ""; | ||
1423 | - try{ | ||
1424 | - core_carregando("desativa"); | ||
1425 | - if(nomeFuncao != ""){ | ||
1426 | - if(YAHOO.lang.isFunction(nomeFuncao)){ | ||
1427 | - nomeFuncao.call(o); | ||
1428 | - } | ||
1429 | - else{ | ||
1430 | - eval(nomeFuncao+"()"); | ||
1431 | - } | ||
1432 | - } | ||
1433 | - else{ | ||
1434 | - texto = YAHOO.lang.JSON.parse(o.responseText)[0]; | ||
1435 | - if(texto === ""){ | ||
1436 | - texto = "Clique para editar"; | ||
1437 | - } | ||
1438 | - myDataTable.addRow(texto,0); | ||
1439 | - } | ||
1440 | - } | ||
1441 | - catch(e){ | ||
1442 | - core_handleFailure(e,o.responseText); | ||
1443 | - } | ||
1444 | - }, | ||
1445 | - failure:core_handleFailure, | ||
1446 | - argument: { foo:"foo", bar:"bar" } | ||
1447 | - }; | ||
1448 | - core_makeRequest(sUrl,callback); | ||
1449 | - }; | ||
1450 | - //cria o botão de adição de um novo menu | ||
1451 | - botao = new YAHOO.widget.Button(idBotao,{ onclick: { fn: adicionalinha } }); | ||
1452 | - botao.addClass("rodar"); | ||
1453 | -} | ||
1454 | -/* | ||
1455 | -Function: core_pegaDados | ||
1456 | - | ||
1457 | -Busca dados no servidor via Ajax e executa uma função de retorno com os daods | ||
1458 | - | ||
1459 | -Parameters: | ||
1460 | - | ||
1461 | -mensagem - mensagem que será mostrada na tela | ||
1462 | - | ||
1463 | -sUrl - url do programa que será executado no servidor | ||
1464 | - | ||
1465 | -funcaoRetorno - funcao que será executada ao terminar a busca pelos dados | ||
1466 | - */ | ||
1467 | -function core_pegaDados(mensagem,sUrl,funcaoRetorno) | ||
1468 | -{ | ||
1469 | - if("mensagem" != "") | ||
1470 | - core_carregando(mensagem); | ||
1471 | - var callback = | ||
1472 | - { | ||
1473 | - success:function(o) | ||
1474 | - { | ||
1475 | - try | ||
1476 | - { | ||
1477 | - if(funcaoRetorno != ""){ | ||
1478 | - if(YAHOO.lang.isFunction(funcaoRetorno)){ | ||
1479 | - funcaoRetorno.call("",YAHOO.lang.JSON.parse(o.responseText)); | ||
1480 | - } | ||
1481 | - else{ | ||
1482 | - eval(funcaoRetorno+"(YAHOO.lang.JSON.parse(o.responseText))"); | ||
1483 | - } | ||
1484 | - } | ||
1485 | - core_carregando("desativa"); | ||
1486 | - } | ||
1487 | - catch(e) | ||
1488 | - { | ||
1489 | - if("mensagem" != "") | ||
1490 | - {core_carregando("desativa");} | ||
1491 | - core_handleFailure(o,o.responseText); | ||
1492 | - } | ||
1493 | - }, | ||
1494 | - failure:core_handleFailure, | ||
1495 | - argument: { foo:"foo", bar:"bar" } | ||
1496 | - }; | ||
1497 | - core_makeRequest(sUrl,callback); | ||
1498 | -} | ||
1499 | -/* | ||
1500 | -Function: core_gravaLinha | ||
1501 | - | ||
1502 | -Grava um registro no banco de dados e atualiza o datatable atual | ||
1503 | - | ||
1504 | -Essa função utiliza o objeto datatable que deve estar armazenado na variável myDataTable | ||
1505 | - | ||
1506 | -Parameters: | ||
1507 | - | ||
1508 | -mensagem - mensagem que será mostrada na tela | ||
1509 | - | ||
1510 | -row - objeto row que foi clicado pelo usuário. Utilizado para se obter os daods do recordset | ||
1511 | - | ||
1512 | -sUrl - url do programa que será executado | ||
1513 | - | ||
1514 | -nomeFuncao - nome da funcao que sera executada apos gravar os dados (opcional) | ||
1515 | - */ | ||
1516 | -function core_gravaLinha(mensagem,row,sUrl,nomeFuncao) | ||
1517 | -{ | ||
1518 | - core_carregando("ativa"); | ||
1519 | - core_carregando(mensagem); | ||
1520 | - if(arguments.length < 4) | ||
1521 | - nomeFuncao = ""; | ||
1522 | - var callback = | ||
1523 | - { | ||
1524 | - success:function(o) | ||
1525 | - { | ||
1526 | - core_carregando("desativa"); | ||
1527 | - var rec = myDataTable.getRecordSet().getRecord(row); | ||
1528 | - var linha = myDataTable.getTrEl(rec); | ||
1529 | - if(nomeFuncao != "") | ||
1530 | - { | ||
1531 | - eval(nomeFuncao+"()"); | ||
1532 | - try | ||
1533 | - {myDataTable.updateRow(rec,YAHOO.lang.JSON.parse(o.responseText)[0]);} | ||
1534 | - catch(e){} | ||
1535 | - } | ||
1536 | - else | ||
1537 | - { | ||
1538 | - myDataTable.updateRow(rec,YAHOO.lang.JSON.parse(o.responseText)[0]); | ||
1539 | - } | ||
1540 | - linha.style.color = ""; | ||
1541 | - linha.style.textDecoration = "none"; | ||
1542 | - }, | ||
1543 | - failure:core_handleFailure, | ||
1544 | - argument: { foo:"foo", bar:"bar" } | ||
1545 | - }; | ||
1546 | - core_makeRequest(sUrl,callback); | ||
1547 | -} | ||
1548 | -/* | ||
1549 | -Function: core_excluiLinha | ||
1550 | - | ||
1551 | -Excluí um registro no banco de dados e atualiza o datatable. | ||
1552 | - | ||
1553 | -Essa função utiliza o objeto datatable que deve estar armazenado na variável myDataTable | ||
1554 | - | ||
1555 | -Parameters: | ||
1556 | - | ||
1557 | -sUrl - url do programa que será executado | ||
1558 | - | ||
1559 | -row - objeto row de um datatable | ||
1560 | - | ||
1561 | -mensagem - | ||
1562 | - */ | ||
1563 | -function core_excluiLinha(sUrl,row,mensagem,cabecalho,tabela) | ||
1564 | -{ | ||
1565 | - if(!cabecalho){ | ||
1566 | - cabecalho = ""; | ||
1567 | - } | ||
1568 | - //dialogo | ||
1569 | - // Define various event handlers for Dialog | ||
1570 | - var handleYes = function() | ||
1571 | - { | ||
1572 | - this.hide(); | ||
1573 | - core_carregando("ativa"); | ||
1574 | - core_carregando(mensagem); | ||
1575 | - var callback = | ||
1576 | - { | ||
1577 | - success:function(o) | ||
1578 | - { | ||
1579 | - try | ||
1580 | - { | ||
1581 | - if(YAHOO.lang.JSON.parse(o.responseText) == "erro") | ||
1582 | - { | ||
1583 | - core_carregando("<span style=color:red >Não foi possível excluir. Verifique se não existem outras tabelas com registros vinculados a este</span>"); | ||
1584 | - setTimeout("core_carregando('desativa')",3000); | ||
1585 | - } | ||
1586 | - else | ||
1587 | - { | ||
1588 | - if(tabela){ | ||
1589 | - tabela.deleteRow(row); | ||
1590 | - } | ||
1591 | - else{ | ||
1592 | - myDataTable.deleteRow(row); | ||
1593 | - } | ||
1594 | - core_carregando("desativa"); | ||
1595 | - } | ||
1596 | - } | ||
1597 | - catch(e){core_handleFailure(o,o.responseText);} | ||
1598 | - }, | ||
1599 | - failure:core_handleFailure, | ||
1600 | - argument: { foo:"foo", bar:"bar" } | ||
1601 | - }; | ||
1602 | - core_makeRequest(sUrl,callback); | ||
1603 | - }; | ||
1604 | - var handleNo = function(){ | ||
1605 | - this.hide(); | ||
1606 | - }; | ||
1607 | - var mensagem = "Exclui o registro?"; | ||
1608 | - var largura = "300"; | ||
1609 | - core_dialogoContinua(handleYes,handleNo,mensagem,largura,cabecalho); | ||
1610 | -} | ||
1611 | -/* | ||
1612 | -Function: core_excluiNoTree | ||
1613 | - | ||
1614 | -Excluí um registro no banco de dados e atualiza o treeview. | ||
1615 | - | ||
1616 | -Essa função utiliza o objeto treeview que deve estar armazenado na variável tree | ||
1617 | - | ||
1618 | -Parameters: | ||
1619 | - | ||
1620 | -sUrl - url do programa que será executado | ||
1621 | - | ||
1622 | -no - objeto no de um treeview | ||
1623 | - | ||
1624 | -mensagem - | ||
1625 | - */ | ||
1626 | -function core_excluiNoTree(sUrl,no,mensagem,cabecalho) | ||
1627 | -{ | ||
1628 | - if(!cabecalho){ | ||
1629 | - cabecalho = ""; | ||
1630 | - } | ||
1631 | - //dialogo | ||
1632 | - // Define various event handlers for Dialog | ||
1633 | - var handleYes = function() | ||
1634 | - { | ||
1635 | - this.hide(); | ||
1636 | - core_carregando("ativa"); | ||
1637 | - core_carregando(mensagem); | ||
1638 | - var callback = | ||
1639 | - { | ||
1640 | - success:function(o) | ||
1641 | - { | ||
1642 | - try | ||
1643 | - { | ||
1644 | - if(YAHOO.lang.JSON.parse(o.responseText) == "erro") | ||
1645 | - { | ||
1646 | - core_carregando("<span style=color:red >Não foi possível excluir. Verifique se não existem outras tabelas com registros vinculados a este</span>"); | ||
1647 | - setTimeout("core_carregando('desativa')",3000); | ||
1648 | - } | ||
1649 | - else | ||
1650 | - { | ||
1651 | - if(no){ | ||
1652 | - tree.removeNode(no); | ||
1653 | - tree.draw(); | ||
1654 | - } | ||
1655 | - core_carregando("desativa"); | ||
1656 | - } | ||
1657 | - } | ||
1658 | - catch(e){core_handleFailure(o,o.responseText);} | ||
1659 | - }, | ||
1660 | - failure:core_handleFailure, | ||
1661 | - argument: { foo:"foo", bar:"bar" } | ||
1662 | - }; | ||
1663 | - core_makeRequest(sUrl,callback); | ||
1664 | - }; | ||
1665 | - var handleNo = function() | ||
1666 | - { | ||
1667 | - this.hide(); | ||
1668 | - }; | ||
1669 | - var mensagem = "Exclui o registro?"; | ||
1670 | - var largura = "300"; | ||
1671 | - core_dialogoContinua(handleYes,handleNo,mensagem,largura,cabecalho); | ||
1672 | -} | ||
1673 | -/** | ||
1674 | -Function: core_montaEditor | ||
1675 | - | ||
1676 | -Monta uma janela flutuante com um formulário. | ||
1677 | - | ||
1678 | -O editor possui um div com id=editor_bd que deve ser usado para incluir o formulário. | ||
1679 | - | ||
1680 | -Parameters: | ||
1681 | - | ||
1682 | -funcaoOK - string com o nome da função que será executada quando o botão OK for pressionado. | ||
1683 | - | ||
1684 | -funcaoClose - nome da funcao que será executada quando a janela for fechada. Pode ser "" para escapar. | ||
1685 | - | ||
1686 | -titulo - titulo da janela | ||
1687 | - | ||
1688 | -modal - boolean | ||
1689 | - | ||
1690 | -bsalva - boolean botao salvar | ||
1691 | - | ||
1692 | -bcancela - boolean botao cancelar | ||
1693 | - */ | ||
1694 | -function core_montaEditor(funcaoOK,w,h,funcaoClose,titulo,modal,bsalva,bcancela) | ||
1695 | -{ | ||
1696 | - if(!funcaoOK){ | ||
1697 | - funcaoOK = ""; | ||
1698 | - } | ||
1699 | - if(!w){ | ||
1700 | - w = "400px"; | ||
1701 | - } | ||
1702 | - if(!h){ | ||
1703 | - h = "354px"; | ||
1704 | - } | ||
1705 | - if(modal == undefined){ | ||
1706 | - modal = false; | ||
1707 | - } | ||
1708 | - if(bsalva == undefined){ | ||
1709 | - bsalva = true; | ||
1710 | - } | ||
1711 | - if(bcancela == undefined){ | ||
1712 | - bcancela = true; | ||
1713 | - } | ||
1714 | - if(!titulo){ | ||
1715 | - titulo = "Editor"; | ||
1716 | - } | ||
1717 | - if(!funcaoClose){ | ||
1718 | - funcaoClose = ""; | ||
1719 | - } | ||
1720 | - if(!$i("janela_editor")) | ||
1721 | - { | ||
1722 | - var ins = "", temp = "", lb, | ||
1723 | - salvai = "<input id=okcancel_checkboxOK type='buttom' value='Salva' />", | ||
1724 | - cancelai = "<input id=okcancel_checkboxCANCEL type='buttom' value='Cancela' />", | ||
1725 | - novoel = document.createElement("div"); | ||
1726 | - novoel.id = "janela_editor"; | ||
1727 | - ins = '<div class="hd"><div id="okcancel_checkbox" ></div></div>' + | ||
1728 | - "<div class='bd' style='height:"+h+";overflow:auto'>" + | ||
1729 | - "<div id='editor_bd'></div>"; | ||
1730 | - novoel.innerHTML = ins; | ||
1731 | - document.body.appendChild(novoel); | ||
1732 | - if(funcaoOK != "") | ||
1733 | - { | ||
1734 | - lb = $i("okcancel_checkbox"); | ||
1735 | - if(bsalva === true){ | ||
1736 | - temp += salvai; | ||
1737 | - } | ||
1738 | - if(bcancela === true){ | ||
1739 | - temp += cancelai; | ||
1740 | - } | ||
1741 | - lb.innerHTML = temp + '<span style="margin-left:10px;position:relative;top:-5px">'+titulo+'</span>'; | ||
1742 | - if(bsalva === true){ | ||
1743 | - new YAHOO.widget.Button( | ||
1744 | - "okcancel_checkboxOK", | ||
1745 | - {onclick:{fn: function(){ | ||
1746 | - if(YAHOO.lang.isFunction(funcaoOK)){ | ||
1747 | - funcaoOK.call(); | ||
1748 | - } | ||
1749 | - else{ | ||
1750 | - eval(funcaoOK); | ||
1751 | - } | ||
1752 | - }}} | ||
1753 | - ); | ||
1754 | - var temp = $i("okcancel_checkbox"); | ||
1755 | - temp.style.top = "2px"; | ||
1756 | - temp.style.position = "relative"; | ||
1757 | - var temp = $i("okcancel_checkboxOK-button"); | ||
1758 | - temp.style.height = "23px"; | ||
1759 | - } | ||
1760 | - if(bcancela === true){ | ||
1761 | - new YAHOO.widget.Button( | ||
1762 | - "okcancel_checkboxCANCEL", | ||
1763 | - {onclick:{fn: function(){ | ||
1764 | - YAHOO.admin.container.panelEditor.destroy(); | ||
1765 | - YAHOO.admin.container.panelEditor = null; | ||
1766 | - }}} | ||
1767 | - ); | ||
1768 | - } | ||
1769 | - } | ||
1770 | - YAHOO.admin.container.panelEditor = new YAHOO.widget.Panel("janela_editor", { fixedcenter:"contained",close:true,width:w, overflow:"auto",modal: modal,visible:false,constraintoviewport:true } ); | ||
1771 | - YAHOO.admin.container.panelEditor.render(); | ||
1772 | - } | ||
1773 | - else | ||
1774 | - { | ||
1775 | - if($i("editor_bd")) | ||
1776 | - {$i("editor_bd").innerHTML == "?";} | ||
1777 | - } | ||
1778 | - var fecha = function() | ||
1779 | - { | ||
1780 | - try{ | ||
1781 | - YAHOO.admin.container.panelEditor.destroy(); | ||
1782 | - YAHOO.admin.container.panelEditor = null; | ||
1783 | - } | ||
1784 | - catch(e){} | ||
1785 | - try{ | ||
1786 | - if(YAHOO.lang.isFunction(funcaoClose)){ | ||
1787 | - funcaoClose.call(); | ||
1788 | - } | ||
1789 | - else if(funcaoClose != ""){ | ||
1790 | - eval(funcaoClose+"()"); | ||
1791 | - } | ||
1792 | - } | ||
1793 | - catch(e){}; | ||
1794 | - }; | ||
1795 | - YAHOO.util.Event.addListener(YAHOO.admin.container.panelEditor.close, "click", fecha); | ||
1796 | - YAHOO.admin.container.panelEditor.show(); | ||
1797 | - //registra a janela no gerenciador de janelas default da classe i3GEO.janela caso ela exista | ||
1798 | - try{ | ||
1799 | - YAHOO.i3GEO.janela.manager.register(YAHOO.admin.container.panelEditor); | ||
1800 | - } | ||
1801 | - catch(e){} | ||
1802 | -} | ||
1803 | -/* | ||
1804 | -Function idiomaSel | ||
1805 | - | ||
1806 | -Retorna o idioma selecionado pesquisando no elemento select com id = "idioma" | ||
1807 | - */ | ||
1808 | -function idiomaSel(){ | ||
1809 | - var idioma = "pt"; | ||
1810 | - if($i("idioma")) | ||
1811 | - {idioma = $i("idioma").value;} | ||
1812 | - return idioma; | ||
1813 | -} | ||
1814 | -function core_abreCor(janela,elemento) | ||
1815 | -{ | ||
1816 | - if(i3GEO.configura == undefined ) | ||
1817 | - {i3GEO.configura = {locaplic: "../.."};} | ||
1818 | - i3GEO.util.abreCor("",elemento,"rgb"); | ||
1819 | - $i("i3geo_janelaCori").style.width = "350px"; | ||
1820 | - $i("i3geo_janelaCori").style.height = "290px"; | ||
1821 | - //i3GEO.janela.cria("350px","250px","../../ferramentas/colorpicker/index.htm?doc=&elemento="+elemento+"&tipo=rgb","","","Cor","i3geo_janelaCor",true); | ||
1822 | -} | ||
1823 | -function core_desativaforms(lista){ | ||
1824 | - var n = lista.length, | ||
1825 | - i,t; | ||
1826 | - for (i=0;i<n;i++){ | ||
1827 | - t = $i(lista[i]); | ||
1828 | - if(t){ | ||
1829 | - //t.style.background = "pink"; | ||
1830 | - t.disabled = true; | ||
1831 | - } | ||
1832 | - } | ||
1833 | -} | ||
1834 | -function core_ativaforms(lista){ | ||
1835 | - var n = lista.length, | ||
1836 | - i,t; | ||
1837 | - for (i=0;i<n;i++){ | ||
1838 | - t = $i(lista[i]); | ||
1839 | - if(t){ | ||
1840 | - //t.style.background = "white"; | ||
1841 | - t.disabled = false; | ||
1842 | - } | ||
1843 | - } | ||
1844 | -} | ||
1845 | - | ||
1846 | -function core_filtraLetrasCombo(id,letra){ | ||
1847 | - if (letra == "Todos") { | ||
1848 | - letra = ""; | ||
1849 | - } | ||
1850 | - i3GEO.util.insereCookie("I3GEOletraAdmin", letra); | ||
1851 | - if($i("iniciaisLetras")){ | ||
1852 | - $i("iniciaisLetras").value = letra; | ||
1853 | - } | ||
1854 | - var combo = $i(id), | ||
1855 | - n, i, o, v; | ||
1856 | - if(combo){ | ||
1857 | - o = combo.options; | ||
1858 | - n = o.length; | ||
1859 | - letra = letra.toLowerCase(); | ||
1860 | - for(i = 0; i < n; i++){ | ||
1861 | - v = o[i].text.toLowerCase(); | ||
1862 | - o[i].style.display = "block"; | ||
1863 | - if(v.search(letra) < 0 && o[i].value != combo.value ){ | ||
1864 | - o[i].style.display = "none"; | ||
1865 | - } | ||
1866 | - } | ||
1867 | - } | ||
1868 | -} | ||
1869 | - | ||
1870 | -function core_listaDeLetras(onde,nomeFuncao,semLetras,w){ | ||
1871 | - //letraAtual guarda a ultima letra clicada | ||
1872 | - if(!w){ | ||
1873 | - w = 40; | ||
1874 | - } | ||
1875 | - var o,i,ins= "<p><b>", | ||
1876 | - letras = ["Todos","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","X","Y","Z","_","1","2","3","4","5","6","7","8","9"], | ||
1877 | - nletras = letras.length; | ||
1878 | - if(!i3GEO.util){ | ||
1879 | - alert("Erro i3GEO.util ???"); | ||
1880 | - return; | ||
1881 | - } | ||
1882 | - letraAtual = ""; | ||
1883 | - if(i3GEO.util.pegaCookie("I3GEOletraAdmin")) { | ||
1884 | - letraAtual = i3GEO.util.pegaCookie("I3GEOletraAdmin"); | ||
1885 | - } | ||
1886 | - if(!semLetras){ | ||
1887 | - for (i = 0; i < nletras; i++) { | ||
1888 | - ins += "<span onclick='"+nomeFuncao+"(\"" | ||
1889 | - + letras[i] | ||
1890 | - + "\")' style='color:blue;cursor:pointer;padding:1px;border: 1px solid #C8C8FA'>" | ||
1891 | - + letras[i] + "</span> "; | ||
1892 | - } | ||
1893 | - } | ||
1894 | - else{ | ||
1895 | - ins = ""; | ||
1896 | - } | ||
1897 | - if(onde && onde != ""){ | ||
1898 | - o = document.getElementById(onde); | ||
1899 | - if(o){ | ||
1900 | - if(!semLetras){ | ||
1901 | - o.innerHTML = "<fieldset style='padding:2px;margin-left: 0px;' class=letras ><form id=forminiciais ><p><b>Iniciais: <input name='' onchange='' value='"+letraAtual+"' id=iniciaisLetras type=text style=width:" + w + "px;cursor:pointer /></form><div style=position:relative;top:1px; id='_listaDeLetras' >"+ins+"</div></b></fieldset>"; | ||
1902 | - } | ||
1903 | - else{ | ||
1904 | - o.innerHTML = "<form id=forminiciais >Iniciais: <input name='' onchange='' value='' id=iniciaisLetras type=text style=width:40px;cursor:pointer /></form>"; | ||
1905 | - } | ||
1906 | - if(document.getElementById("forminiciais")){ | ||
1907 | - document.getElementById("forminiciais").onsubmit = function(){ | ||
1908 | - var v = document.getElementById("iniciaisLetras").value; | ||
1909 | - i3GEO.util.insereCookie("I3GEOletraAdmin", v); | ||
1910 | - eval(nomeFuncao+"('"+v+"');"); | ||
1911 | - return false; | ||
1912 | - }; | ||
1913 | - } | ||
1914 | - if(!semLetras){ | ||
1915 | - document.getElementById("_listaDeLetras").onclick = function(){ | ||
1916 | - document.getElementById("iniciaisLetras").value = letraAtual; | ||
1917 | - }; | ||
1918 | - } | ||
1919 | - } | ||
1920 | - } | ||
1921 | - else{ | ||
1922 | - return ins; | ||
1923 | - } | ||
1924 | -} | ||
1925 | -function core_parseMustacheBody (hashMustache){ | ||
1926 | - var re = new RegExp("&", "g"), m; | ||
1927 | - m = Mustache.render(document.body.innerHTML, i3GEO.idioma.objetoIdioma(hashMustache)); | ||
1928 | - m = m.replace(re, '&'); | ||
1929 | - document.body.innerHTML = m; | ||
1930 | -} | 277 | +} |
1931 | \ No newline at end of file | 278 | \ No newline at end of file |
admin1/metaestat/regioes/index.js
@@ -256,5 +256,8 @@ Obt&eacute;m a lista de regioes | @@ -256,5 +256,8 @@ Obt&eacute;m a lista de regioes | ||
256 | //window.history.replaceState(null,null,u); | 256 | //window.history.replaceState(null,null,u); |
257 | //abre a pagina de edicao | 257 | //abre a pagina de edicao |
258 | window.location.href = "hierarquia/index.php?codigo_tipo_regiao=" + codigo_tipo_regiao; | 258 | window.location.href = "hierarquia/index.php?codigo_tipo_regiao=" + codigo_tipo_regiao; |
259 | + }, | ||
260 | + listaEsquemas: function(destino){ | ||
261 | + i3GEOadmin.bdExplorer.listaEsquemas(destino); | ||
259 | } | 262 | } |
260 | }; | 263 | }; |
261 | \ No newline at end of file | 264 | \ No newline at end of file |
admin1/metaestat/regioes/index.php
@@ -59,6 +59,7 @@ include("templates/templateFormLista.php"); | @@ -59,6 +59,7 @@ include("templates/templateFormLista.php"); | ||
59 | ?> | 59 | ?> |
60 | <script type="text/javascript" src="index.js"></script> | 60 | <script type="text/javascript" src="index.js"></script> |
61 | <script type="text/javascript" src="../../dicionario/estat_tipo_regiao.js"></script> | 61 | <script type="text/javascript" src="../../dicionario/estat_tipo_regiao.js"></script> |
62 | +<script type="text/javascript" src="../../js/bdexplorer.js"></script> | ||
62 | <script> | 63 | <script> |
63 | $(document).ready(function(){ | 64 | $(document).ready(function(){ |
64 | //vem de admin1/index.js | 65 | //vem de admin1/index.js |
admin1/metaestat/regioes/templates/templateFormLista.php
@@ -35,9 +35,15 @@ | @@ -35,9 +35,15 @@ | ||
35 | <div class="form-group form-group-lg"> | 35 | <div class="form-group form-group-lg"> |
36 | <label class="col-md-5 control-label" for="esquemadb" >{{{esquemadbTxt}}}</label> | 36 | <label class="col-md-5 control-label" for="esquemadb" >{{{esquemadbTxt}}}</label> |
37 | <div class="col-md-7"> | 37 | <div class="col-md-7"> |
38 | - <input title="{{{esquemadbTxt}}}" type="text" value="{{{esquemadb}}}" class="form-control" name="esquemadb" > | ||
39 | - </div> | ||
40 | - </div> | 38 | + <div class="input-group"> |
39 | + <input title="{{{esquemadbTxt}}}" type="text" value="{{{esquemadb}}}" class="form-control" name="esquemadb" > | ||
40 | + <div class="input-group-btn"> | ||
41 | + <a role="button" class="btn btn-danger btn-fab btn-fab-mini" style="height: 20px;min-width: 20px;width: 20px;" onclick="i3GEOadmin.regioes.listaEsquemas('esquemadb')" href="javascript:void(0)"> | ||
42 | + <i class="material-icons md-18">list</i> | ||
43 | + </a> | ||
44 | + </div> | ||
45 | + </div> | ||
46 | + </div> | ||
41 | </div> | 47 | </div> |
42 | </div> | 48 | </div> |
43 | <div class="row"> | 49 | <div class="row"> |
@@ -0,0 +1,35 @@ | @@ -0,0 +1,35 @@ | ||
1 | +<?php | ||
2 | +/****************************************************************/ | ||
3 | +////include (dirname ( __FILE__ ) . "/../../../ms_configura.php"); | ||
4 | +// | ||
5 | +//checa login | ||
6 | +//valida _GET e _POST, juntando em _GET | ||
7 | +//pega algumas variaveis de uso mais comum | ||
8 | +//session_start | ||
9 | +// | ||
10 | +include ("checaLogin.php"); | ||
11 | +\admin\php\login\checaLogin(); | ||
12 | +//funcoes de administracao | ||
13 | +include ($_SESSION["locaplic"]."/admin1/php/funcoesAdmin.php"); | ||
14 | +// | ||
15 | +//carrega outras funcoes e extensoes do PHP | ||
16 | +// | ||
17 | +include ($_SESSION["locaplic"]."/classesphp/carrega_ext.php"); | ||
18 | +include ($_SESSION["locaplic"]."/classesphp/classe_bdexplorer.php"); | ||
19 | +/***************************************************************/ | ||
20 | +$funcao = strtoupper ( $funcao ); | ||
21 | +switch ($funcao) { | ||
22 | + case "LISTARESQUEMAS" : | ||
23 | + $bd = new \i3geo\classesphp\bdexplorer\Bdexplorer($_SESSION["locaplic"]); | ||
24 | + $dados = $bd->listaDeEsquemas(); | ||
25 | + if ($dados === false) { | ||
26 | + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); | ||
27 | + } else { | ||
28 | + \admin\php\funcoesAdmin\retornaJSON ( $dados ); | ||
29 | + } | ||
30 | + break; | ||
31 | + default: | ||
32 | + if(!empty ($funcao)) header ( "HTTP/1.1 500 erro funcao nao existe" ); | ||
33 | + break; | ||
34 | +} | ||
35 | +?> | ||
0 | \ No newline at end of file | 36 | \ No newline at end of file |
classesphp/classe_bdexplorer.php
@@ -7,6 +7,7 @@ | @@ -7,6 +7,7 @@ | ||
7 | * | 7 | * |
8 | */ | 8 | */ |
9 | namespace i3geo\classesphp\bdexplorer; | 9 | namespace i3geo\classesphp\bdexplorer; |
10 | +use PDO; | ||
10 | class Bdexplorer{ | 11 | class Bdexplorer{ |
11 | /** | 12 | /** |
12 | * Nome do esquema no banco de dados utilizado para armazenar as tabelas | 13 | * Nome do esquema no banco de dados utilizado para armazenar as tabelas |
ms_configura.php
@@ -118,6 +118,22 @@ false | @@ -118,6 +118,22 @@ false | ||
118 | 118 | ||
119 | */ | 119 | */ |
120 | $logTransacoes = false; | 120 | $logTransacoes = false; |
121 | +/* | ||
122 | + Variale: $i3geoEsquemasWL | ||
123 | + | ||
124 | + Lista com nomes dos esquemas, nos bancos de dados acessiveis pelo sistema de administracao, que podem ser utilizados nas listagens de tabelas e colunas. | ||
125 | + | ||
126 | + O sistema de administracao do i3Geo possui formularios com campos que referem-se a objetos no banco de dados Postgres. | ||
127 | + Essa variavel e uma lista branca, ou seja, permite o acesso apenas aos esquemas e seus objetos que constam na lista. | ||
128 | + Essa lista nao impede o uso desses objetos, apenas evita que os mesmos sejam utilizados para gerar opcoes de selecao para o preenchimento dos formularios. | ||
129 | + | ||
130 | + O usuario dos formularios ainda poderao inserir manualmente os nomes dos objetos mesmo que os esquemas nao constem nessa lista. | ||
131 | + | ||
132 | + Tipo: | ||
133 | + {array} | ||
134 | +*/ | ||
135 | +$i3geoEsquemasWL = array("public","i3geosaude"); | ||
136 | + | ||
121 | //TODO documentar moodle | 137 | //TODO documentar moodle |
122 | /* | 138 | /* |
123 | Variale: $logExec | 139 | Variale: $logExec |
@@ -134,7 +150,7 @@ $logExec = array( | @@ -134,7 +150,7 @@ $logExec = array( | ||
134 | "init" => false, //ms_criamapa mapa_inicia | 150 | "init" => false, //ms_criamapa mapa_inicia |
135 | "ogc" => false, //servico ogc | 151 | "ogc" => false, //servico ogc |
136 | "upload" => false, //ferramentas de upload | 152 | "upload" => false, //ferramentas de upload |
137 | - "ferramentas" => false, //todas asferramentas que usam safe.php | 153 | + "ferramentas" => false, //todas as ferramentas que usam safe.php |
138 | "controle" => false //tudo que passa por mapa_controle.php | 154 | "controle" => false //tudo que passa por mapa_controle.php |
139 | ); | 155 | ); |
140 | /* | 156 | /* |