Commit c554b7856fbfb671296ffc24f2a2653b9b51c645

Authored by Edmar Moretti
1 parent d8354909

Inclusão de filtros nos formulários de manutenção da árvore do catálogo

admin/html/admin.css
@@ -215,6 +215,15 @@ fieldset { @@ -215,6 +215,15 @@ fieldset {
215 margin: 7px; 215 margin: 7px;
216 } 216 }
217 217
  218 +select{
  219 + text-align: left;
  220 + border: 0px solid gray;
  221 + border-radius: 5px 5px 5px 5px;
  222 + box-shadow: 0 1px 3px gray;
  223 + background-color: rgb(250, 250, 250);
  224 + padding: 2px;
  225 +}
  226 +
218 .mascaraPrincipal { 227 .mascaraPrincipal {
219 position: relative; 228 position: relative;
220 top: -15px; 229 top: -15px;
admin/html/arvore.html
@@ -13,6 +13,25 @@ body { @@ -13,6 +13,25 @@ body {
13 margin: 0; 13 margin: 0;
14 padding: 0; 14 padding: 0;
15 } 15 }
  16 +
  17 +#Eid_tema, #Eid_subgrupo, #Eid_grupo {
  18 + text-align: left;
  19 + padding: 10px;
  20 + border: 0px solid gray;
  21 + border-radius: 5px 5px 5px 5px;
  22 + box-shadow: 0 1px 3px gray;
  23 + background-color: rgb(250, 250, 250);
  24 + margin: 7px;
  25 +}
  26 +
  27 +#letrasDivTema #_listaDeLetras{
  28 + overflow: auto;
  29 + max-width: 349px;
  30 +}
  31 +#letrasDivTema p {
  32 + height: 10px;
  33 +}
  34 +
16 </style> 35 </style>
17 <script type="text/javascript" src="../js/core.js"></script> 36 <script type="text/javascript" src="../js/core.js"></script>
18 <script type="text/javascript" src="../js/arvore.js"></script> 37 <script type="text/javascript" src="../js/arvore.js"></script>
admin/js/arvore.js
@@ -41,7 +41,6 @@ i3geo/admin/js/arvore.js @@ -41,7 +41,6 @@ i3geo/admin/js/arvore.js
41 //obtem os parametros da url 41 //obtem os parametros da url
42 // 42 //
43 YAHOO.namespace("admin.container"); 43 YAHOO.namespace("admin.container");
44 -//TODO permitir escolher mais de um tema ao adicionar em um no da arvore  
45 (function(){ 44 (function(){
46 $id_menu = ""; 45 $id_menu = "";
47 $id_grupo = ""; 46 $id_grupo = "";
@@ -671,6 +670,7 @@ function editar(tipo,id) @@ -671,6 +670,7 @@ function editar(tipo,id)
671 var dados = YAHOO.lang.JSON.parse(o.responseText)[0]; 670 var dados = YAHOO.lang.JSON.parse(o.responseText)[0];
672 core_montaEditor("gravaDados('tema','"+id+"')","400px","400px","","Tema",true,true,false); 671 core_montaEditor("gravaDados('tema','"+id+"')","400px","400px","","Tema",true,true,false);
673 $i("editor_bd").innerHTML = montaDivTema(dados); 672 $i("editor_bd").innerHTML = montaDivTema(dados);
  673 + core_listaDeLetras("letrasDivTema","filtraLetraTemas");
674 core_comboTemas("comboTema","Eid_tema",dados.id_tema,""); 674 core_comboTemas("comboTema","Eid_tema",dados.id_tema,"");
675 core_comboPerfis("comboPerfil","Eperfil_tema","","registraPerfil(this.value,\"En3_perfil\")"); 675 core_comboPerfis("comboPerfil","Eperfil_tema","","registraPerfil(this.value,\"En3_perfil\")");
676 } 676 }
@@ -700,6 +700,9 @@ function editar(tipo,id) @@ -700,6 +700,9 @@ function editar(tipo,id)
700 if(sUrl) 700 if(sUrl)
701 {core_makeRequest(sUrl,callback);} 701 {core_makeRequest(sUrl,callback);}
702 } 702 }
  703 +function filtraLetraTemas(letra) {
  704 + core_filtraLetrasCombo("Eid_tema",letra);
  705 +}
703 function montaDivGrupo(i) 706 function montaDivGrupo(i)
704 { 707 {
705 var ins = "<p>Escolha o grupo para esse n&iacute;vel:</p>"; 708 var ins = "<p>Escolha o grupo para esse n&iacute;vel:</p>";
@@ -738,6 +741,7 @@ function montaDivSubGrupo(i) @@ -738,6 +741,7 @@ function montaDivSubGrupo(i)
738 function montaDivTema(i) 741 function montaDivTema(i)
739 { 742 {
740 var ins = "<p>Escolha o tema para esse n&iacute;vel:</p>"; 743 var ins = "<p>Escolha o tema para esse n&iacute;vel:</p>";
  744 + ins += "<div id='letrasDivTema'></div>";
741 ins += "<div id=comboTema >Buscando...</div>"; 745 ins += "<div id=comboTema >Buscando...</div>";
742 ins += "<p>Perfis que podem ver: </p>"; 746 ins += "<p>Perfis que podem ver: </p>";
743 ins += "<input type=text id='En3_perfil' value='"+i.n3_perfil+"' style='position:relative;width:200px;float:left;'/>"; 747 ins += "<input type=text id='En3_perfil' value='"+i.n3_perfil+"' style='position:relative;width:200px;float:left;'/>";
admin/js/core.js
@@ -871,7 +871,7 @@ function core_comboTemas(onde,id,marcar,funcao) @@ -871,7 +871,7 @@ function core_comboTemas(onde,id,marcar,funcao)
871 {funcao = "";} 871 {funcao = "";}
872 if (funcao != "") 872 if (funcao != "")
873 {funcao = "onchange='"+funcao+"'";} 873 {funcao = "onchange='"+funcao+"'";}
874 - ins = "<select size=6 style='width:370px' id='"+id+"' "+funcao+" >"; 874 + ins = "<select size=6 style='width:355px' id='"+id+"' "+funcao+" >";
875 ins += core_comboObjeto(valores,"id_tema","nome_tema",marcar,"codigo_tema"); 875 ins += core_comboObjeto(valores,"id_tema","nome_tema",marcar,"codigo_tema");
876 ins += "</select></p>"; 876 ins += "</select></p>";
877 $i(onde).innerHTML = ins; 877 $i(onde).innerHTML = ins;
@@ -1639,6 +1639,31 @@ function core_ativaforms(lista){ @@ -1639,6 +1639,31 @@ function core_ativaforms(lista){
1639 } 1639 }
1640 } 1640 }
1641 } 1641 }
  1642 +
  1643 +function core_filtraLetrasCombo(id,letra){
  1644 + if (letra == "Todos") {
  1645 + letra = "";
  1646 + }
  1647 + i3GEO.util.insereCookie("I3GEOletraAdmin", letra);
  1648 + if($i("iniciaisLetras")){
  1649 + $i("iniciaisLetras").value = letra;
  1650 + }
  1651 + var combo = $i(id),
  1652 + n, i, o, v;
  1653 + if(combo){
  1654 + o = combo.options;
  1655 + n = o.length;
  1656 + letra = letra.toLowerCase();
  1657 + for(i = 0; i < n; i++){
  1658 + v = o[i].text.toLowerCase();
  1659 + o[i].style.display = "block";
  1660 + if(v.search(letra) < 0 && o[i].value != combo.value ){
  1661 + o[i].style.display = "none";
  1662 + }
  1663 + }
  1664 + }
  1665 +}
  1666 +
1642 function core_listaDeLetras(onde,nomeFuncao,semLetras){ 1667 function core_listaDeLetras(onde,nomeFuncao,semLetras){
1643 //letraAtual guarda a ultima letra clicada 1668 //letraAtual guarda a ultima letra clicada
1644 var o,i,ins= "<p><b>", 1669 var o,i,ins= "<p><b>",
@@ -1659,7 +1684,7 @@ function core_listaDeLetras(onde,nomeFuncao,semLetras){ @@ -1659,7 +1684,7 @@ function core_listaDeLetras(onde,nomeFuncao,semLetras){
1659 + "\")' style='color:blue;cursor:pointer;padding:1px;border: 1px solid #C8C8FA'>" 1684 + "\")' style='color:blue;cursor:pointer;padding:1px;border: 1px solid #C8C8FA'>"
1660 + letras[i] + "</span>&nbsp;"; 1685 + letras[i] + "</span>&nbsp;";
1661 } 1686 }
1662 - ins += "</b></p>"; 1687 + //ins += "</b></p>";
1663 } 1688 }
1664 else{ 1689 else{
1665 ins = ""; 1690 ins = "";
@@ -1668,7 +1693,7 @@ function core_listaDeLetras(onde,nomeFuncao,semLetras){ @@ -1668,7 +1693,7 @@ function core_listaDeLetras(onde,nomeFuncao,semLetras){
1668 o = document.getElementById(onde); 1693 o = document.getElementById(onde);
1669 if(o){ 1694 if(o){
1670 if(!semLetras){ 1695 if(!semLetras){
1671 - o.innerHTML = "<fieldset style=padding:2px; class=letras ><form id=forminiciais ><p><b>Iniciais: <input name='' onchange='' value='"+letraAtual+"' id=iniciaisLetras type=text style=width:40px;cursor:pointer /></form><div style=position:relative;top:1px; id='_listaDeLetras' >"+ins+"</div></b></p></fieldset>"; 1696 + o.innerHTML = "<fieldset style=padding:2px; class=letras ><form id=forminiciais ><p><b>Filtro: <input name='' onchange='' value='"+letraAtual+"' id=iniciaisLetras type=text style=width:40px;cursor:pointer /></form><div style=position:relative;top:1px; id='_listaDeLetras' >"+ins+"</div></b></fieldset>";
1672 } 1697 }
1673 else{ 1698 else{
1674 o.innerHTML = "<form id=forminiciais >Iniciais: <input name='' onchange='' value='' id=iniciaisLetras type=text style=width:40px;cursor:pointer /></form>"; 1699 o.innerHTML = "<form id=forminiciais >Iniciais: <input name='' onchange='' value='' id=iniciaisLetras type=text style=width:40px;cursor:pointer /></form>";