Commit 7de7716fa0f36393a2f8a5cdee8ba1108d52d441

Authored by Edmar Moretti
1 parent e009f44c

Inclusão de filtro na página de OGC

@@ -99,7 +99,7 @@ botoesIni = [ @@ -99,7 +99,7 @@ botoesIni = [
99 "target": "_self" 99 "target": "_self"
100 },{ 100 },{
101 "img":"applications-development-web.png", 101 "img":"applications-development-web.png",
102 - "href": "../admin", 102 + "href": "../admin1",
103 "titulo":$trad(3,g_traducao_init), 103 "titulo":$trad(3,g_traducao_init),
104 "subtitulo": $trad("3a",g_traducao_init), 104 "subtitulo": $trad("3a",g_traducao_init),
105 "fa": "cogs", 105 "fa": "cogs",
ogc/dicionario.js
@@ -96,8 +96,8 @@ g_traducao_ogc = @@ -96,8 +96,8 @@ g_traducao_ogc =
96 en : "", 96 en : "",
97 es : "" 97 es : ""
98 }], 98 }],
99 - "1" : [{  
100 - pt : "", 99 + "filtro" : [{
  100 + pt : "Filtro",
101 en : "", 101 en : "",
102 es : "" 102 es : ""
103 }] 103 }]
1 function listaDoNivelMenu(templateMenus,templateGrupos,templateSubGrupos,templateCamadas){ 1 function listaDoNivelMenu(templateMenus,templateGrupos,templateSubGrupos,templateCamadas){
2 var r = function(retorno) { 2 var r = function(retorno) {
3 var menus = retorno.data, 3 var menus = retorno.data,
4 - nmenus = menus.length, i = 0, s = [], camadasRaiz, dataMenu, htmlMenus, grupos; 4 + nmenus = menus.length, i = 0, s = [], camadasRaiz, dataMenu, htmlMenus, grupos, temp;
5 for(i=0; i<nmenus; i++){ 5 for(i=0; i<nmenus; i++){
6 camadasRaiz = ""; 6 camadasRaiz = "";
7 dataMenu = menus[i]; 7 dataMenu = menus[i];
@@ -9,6 +9,7 @@ function listaDoNivelMenu(templateMenus,templateGrupos,templateSubGrupos,templat @@ -9,6 +9,7 @@ function listaDoNivelMenu(templateMenus,templateGrupos,templateSubGrupos,templat
9 camadasRaiz = ckCamada(dataMenu.temas,templateCamadas,"tema"); 9 camadasRaiz = ckCamada(dataMenu.temas,templateCamadas,"tema");
10 dataMenu["camadas"] = camadasRaiz; 10 dataMenu["camadas"] = camadasRaiz;
11 } 11 }
  12 + dataMenu["filtro"] = $trad("filtro",g_traducao_ogc);
12 htmlMenus = Mustache.to_html( 13 htmlMenus = Mustache.to_html(
13 templateMenus, 14 templateMenus,
14 dataMenu 15 dataMenu
@@ -31,26 +32,42 @@ function listaDoNivelMenu(templateMenus,templateGrupos,templateSubGrupos,templat @@ -31,26 +32,42 @@ function listaDoNivelMenu(templateMenus,templateGrupos,templateSubGrupos,templat
31 g = []; 32 g = [];
32 i = 0; 33 i = 0;
33 //camadas na raiz do grupo 34 //camadas na raiz do grupo
  35 + //inclui no array com os grupos os temas
  36 + //monta o array g que contem os grupos e camadas
34 for (i = 0; i < c; i++) { 37 for (i = 0; i < c; i++) {
35 if(gr[i].temasgrupo){ 38 if(gr[i].temasgrupo){
36 - camadas = ckCamada(gr[i].temasgrupo,templateCamadas,"tema"); 39 + camadas = ckCamada(
  40 + gr[i].temasgrupo,
  41 + templateCamadas,
  42 + "tema"
  43 + );
37 gr[i]["camadas"] = camadas; 44 gr[i]["camadas"] = camadas;
38 } else { 45 } else {
39 gr[i]["camadas"] = ""; 46 gr[i]["camadas"] = "";
40 } 47 }
41 g.push(gr[i]); 48 g.push(gr[i]);
42 } 49 }
  50 + //monta o combo para o filtro
  51 + $('[data-grupoFiltro="'+retorno.data.idmenu+'"]').html(
  52 + "<option value=''>---</option>" +
  53 + Mustache.to_html(
  54 + "{{#grupos}}" + $("#templateFiltroGrupo").html() + "{{/grupos}}",
  55 + {"grupos":g}
  56 + )
  57 + );
  58 + //monta a lista de grupos
43 if(g){ 59 if(g){
44 htmlGrupos = Mustache.to_html( 60 htmlGrupos = Mustache.to_html(
45 "{{#grupos}}" + templateGrupos + "{{/grupos}}", 61 "{{#grupos}}" + templateGrupos + "{{/grupos}}",
46 {"grupos":g} 62 {"grupos":g}
47 ); 63 );
  64 +
48 } 65 }
49 $("#gruposMenu"+retorno.data.idmenu).html(htmlGrupos); 66 $("#gruposMenu"+retorno.data.idmenu).html(htmlGrupos);
  67 + //monta os subgrupos
50 for (i = 0; i < c; i++) { 68 for (i = 0; i < c; i++) {
51 subgrupos = gr[i].subgrupos; 69 subgrupos = gr[i].subgrupos;
52 id_n1 = gr[i]["id_n1"]; 70 id_n1 = gr[i]["id_n1"];
53 -  
54 nsubgrupos = subgrupos.length; 71 nsubgrupos = subgrupos.length;
55 j = 0; 72 j = 0;
56 for( j = 0; j < nsubgrupos; j++){ 73 for( j = 0; j < nsubgrupos; j++){
@@ -295,4 +312,19 @@ function listaCompleta(onde){ @@ -295,4 +312,19 @@ function listaCompleta(onde){
295 }; 312 };
296 //cpJSON vem de class_php.js 313 //cpJSON vem de class_php.js
297 cpJSON.call("../classesphp/mapa_controle.php?map_file=&funcao=pegaTodosTemas&g_sid=&idioma=pt", "foo", r); 314 cpJSON.call("../classesphp/mapa_controle.php?map_file=&funcao=pegaTodosTemas&g_sid=&idioma=pt", "foo", r);
  315 +}
  316 +function filtraGrupo(obj,idPainel){
  317 + $("#" + idPainel + " .grupo").each(
  318 + function(i,el){
  319 + if(obj.value == ""){
  320 + $(el).show();
  321 + }
  322 + else {
  323 + $(el).hide();
  324 + }
  325 + }
  326 + );
  327 + if(obj.value != ""){
  328 + $("#"+obj.value).show();
  329 + }
298 } 330 }
299 \ No newline at end of file 331 \ No newline at end of file
@@ -93,31 +93,41 @@ include &quot;../init/head.php&quot;; @@ -93,31 +93,41 @@ include &quot;../init/head.php&quot;;
93 </div> 93 </div>
94 <div class="panel-body"> 94 <div class="panel-body">
95 <div id="corpoMenu{{idmenu}}" class="panel-collapse collapse" role="tabpanel" aria-multiselectable="true"> 95 <div id="corpoMenu{{idmenu}}" class="panel-collapse collapse" role="tabpanel" aria-multiselectable="true">
96 - {{{camadas}}}  
97 - <div id="gruposMenu{{idmenu}}">  
98 - <i class="fa fa-spinner fa-pulse fa-2x fa-fw"></i><span class="sr-only">Aguarde</span>  
99 - </div> 96 + {{{camadas}}}
  97 + <!-- aqui entra o filtro -->
  98 + <div class="form-group">
  99 + <label class="control-label">{{{filtro}}}</label>
  100 + <select onchange="filtraGrupo(this,'menu{{idmenu}}')" data-grupoFiltro="{{idmenu}}" class="form-control input-lg">
  101 + </select>
  102 + </div>
  103 +
  104 + <div id="gruposMenu{{idmenu}}">
  105 + <i class="fa fa-spinner fa-pulse fa-2x fa-fw"></i><span class="sr-only">Aguarde</span>
  106 + </div>
100 </div> 107 </div>
101 </div> 108 </div>
102 </div> 109 </div>
103 </div> 110 </div>
104 </script> 111 </script>
  112 +<script id="templateFiltroGrupo" type="x-tmpl-mustache">
  113 +<option value="painelGrupo{{id_n1}}">{{{nome}}}</option>
  114 +</script>
105 <script id="templateGrupos" type="x-tmpl-mustache"> 115 <script id="templateGrupos" type="x-tmpl-mustache">
106 -<div class="list-group">  
107 -<div class="panel panel-default">  
108 - <div class="panel-heading" style="background-color: #b2dfdb;" role="tab" id="tituloGrupo{{id_n1}}">  
109 - <h4 class="panel-title">  
110 - <a class="collapsed" role="button" data-toggle="collapse" data-parent="#corpoMenu{{idmenu}}" href="#corpoGrupo{{id_n1}}" aria-expanded="false" aria-controls="corpoGrupo{{id_n1}}"> {{{nome}}} </a>  
111 - </h4>  
112 - </div>  
113 - <div class="panel-body">  
114 - <div id="corpoGrupo{{id_n1}}" class="panel-collapse collapse" role="tabpanel" aria-multiselectable="true">  
115 - {{{camadas}}}  
116 - <div id="subGruposGrupo{{id_n1}}">{{grupos}}</div> 116 +<div class="list-group grupo" id="painelGrupo{{id_n1}}">
  117 + <div class="panel panel-default">
  118 + <div class="panel-heading" style="background-color: #b2dfdb;" role="tab" >
  119 + <h4 class="panel-title">
  120 + <a class="collapsed" role="button" data-toggle="collapse" data-parent="#corpoMenu{{idmenu}}" href="#corpoGrupo{{id_n1}}" aria-expanded="false" aria-controls="corpoGrupo{{id_n1}}"> {{{nome}}} </a>
  121 + </h4>
  122 + </div>
  123 + <div class="panel-body">
  124 + <div id="corpoGrupo{{id_n1}}" class="panel-collapse collapse" role="tabpanel" aria-multiselectable="true">
  125 + {{{camadas}}}
  126 + <div id="subGruposGrupo{{id_n1}}">{{grupos}}</div>
  127 + </div>
117 </div> 128 </div>
118 </div> 129 </div>
119 </div> 130 </div>
120 -</div>  
121 </script> 131 </script>
122 <script id="templateSubGrupos" type="x-tmpl-mustache"> 132 <script id="templateSubGrupos" type="x-tmpl-mustache">
123 <div class="list-group"> 133 <div class="list-group">