Commit 7de7716fa0f36393a2f8a5cdee8ba1108d52d441

Authored by Edmar Moretti
1 parent e009f44c

Inclusão de filtro na página de OGC

init/index.js
... ... @@ -99,7 +99,7 @@ botoesIni = [
99 99 "target": "_self"
100 100 },{
101 101 "img":"applications-development-web.png",
102   - "href": "../admin",
  102 + "href": "../admin1",
103 103 "titulo":$trad(3,g_traducao_init),
104 104 "subtitulo": $trad("3a",g_traducao_init),
105 105 "fa": "cogs",
... ...
ogc/dicionario.js
... ... @@ -96,8 +96,8 @@ g_traducao_ogc =
96 96 en : "",
97 97 es : ""
98 98 }],
99   - "1" : [{
100   - pt : "",
  99 + "filtro" : [{
  100 + pt : "Filtro",
101 101 en : "",
102 102 es : ""
103 103 }]
... ...
ogc/index.js
1 1 function listaDoNivelMenu(templateMenus,templateGrupos,templateSubGrupos,templateCamadas){
2 2 var r = function(retorno) {
3 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 5 for(i=0; i<nmenus; i++){
6 6 camadasRaiz = "";
7 7 dataMenu = menus[i];
... ... @@ -9,6 +9,7 @@ function listaDoNivelMenu(templateMenus,templateGrupos,templateSubGrupos,templat
9 9 camadasRaiz = ckCamada(dataMenu.temas,templateCamadas,"tema");
10 10 dataMenu["camadas"] = camadasRaiz;
11 11 }
  12 + dataMenu["filtro"] = $trad("filtro",g_traducao_ogc);
12 13 htmlMenus = Mustache.to_html(
13 14 templateMenus,
14 15 dataMenu
... ... @@ -31,26 +32,42 @@ function listaDoNivelMenu(templateMenus,templateGrupos,templateSubGrupos,templat
31 32 g = [];
32 33 i = 0;
33 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 37 for (i = 0; i < c; i++) {
35 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 44 gr[i]["camadas"] = camadas;
38 45 } else {
39 46 gr[i]["camadas"] = "";
40 47 }
41 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 59 if(g){
44 60 htmlGrupos = Mustache.to_html(
45 61 "{{#grupos}}" + templateGrupos + "{{/grupos}}",
46 62 {"grupos":g}
47 63 );
  64 +
48 65 }
49 66 $("#gruposMenu"+retorno.data.idmenu).html(htmlGrupos);
  67 + //monta os subgrupos
50 68 for (i = 0; i < c; i++) {
51 69 subgrupos = gr[i].subgrupos;
52 70 id_n1 = gr[i]["id_n1"];
53   -
54 71 nsubgrupos = subgrupos.length;
55 72 j = 0;
56 73 for( j = 0; j < nsubgrupos; j++){
... ... @@ -295,4 +312,19 @@ function listaCompleta(onde){
295 312 };
296 313 //cpJSON vem de class_php.js
297 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 331 \ No newline at end of file
... ...
ogc/index.php
... ... @@ -93,31 +93,41 @@ include &quot;../init/head.php&quot;;
93 93 </div>
94 94 <div class="panel-body">
95 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 107 </div>
101 108 </div>
102 109 </div>
103 110 </div>
104 111 </script>
  112 +<script id="templateFiltroGrupo" type="x-tmpl-mustache">
  113 +<option value="painelGrupo{{id_n1}}">{{{nome}}}</option>
  114 +</script>
105 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 128 </div>
118 129 </div>
119 130 </div>
120   -</div>
121 131 </script>
122 132 <script id="templateSubGrupos" type="x-tmpl-mustache">
123 133 <div class="list-group">
... ...