Commit 85cc3d2d12c27b83779b5e5a697dc3fa4b04a1dc

Authored by Edmar Moretti
1 parent 3e5878d4

Reorganização do layout do editor de menus

admin/admin.db
No preview for this file type
admin1/catalogo/menus/exec.php
@@ -31,7 +31,9 @@ include_once (dirname ( __FILE__ ) . "/../../../admin/php/login.php"); @@ -31,7 +31,9 @@ include_once (dirname ( __FILE__ ) . "/../../../admin/php/login.php");
31 $funcoesEdicao = array ( 31 $funcoesEdicao = array (
32 "ADICIONAR", 32 "ADICIONAR",
33 "ALTERAR", 33 "ALTERAR",
34 - "EXCLUIR" 34 + "EXCLUIR",
  35 + "LISTA",
  36 + "LISTAUNICO"
35 ); 37 );
36 if (in_array ( strtoupper ( $funcao ), $funcoesEdicao )) { 38 if (in_array ( strtoupper ( $funcao ), $funcoesEdicao )) {
37 if (verificaOperacaoSessao ( "admin/html/arvore" ) === false) { 39 if (verificaOperacaoSessao ( "admin/html/arvore" ) === false) {
@@ -74,8 +76,21 @@ switch ($funcao) { @@ -74,8 +76,21 @@ switch ($funcao) {
74 retornaJSON ( $dados ); 76 retornaJSON ( $dados );
75 exit (); 77 exit ();
76 break; 78 break;
  79 + case "LISTAUNICO" :
  80 + $dados = pegaDados ( "SELECT id_menu, publicado_menu, perfil_menu, aberto, desc_menu, nome_menu, es, en from ".$esquemaadmin."i3geoadmin_menus WHERE id_menu = $id_menu ", $dbh, false );
  81 + if ($dados === false) {
  82 + $dbhw = null;
  83 + $dbh = null;
  84 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  85 + exit ();
  86 + }
  87 + $perfis = pegaDados ( "SELECT id_perfil, perfil from ".$esquemaadmin."i3geoadmin_perfis order by perfil", $dbh, false );
  88 + $dbhw = null;
  89 + $dbh = null;
  90 + retornaJSON ( array("dados"=>$dados[0], "perfis"=>$perfis) );
  91 + break;
77 case "LISTA" : 92 case "LISTA" :
78 - $dados = pegaDados ( "SELECT id_menu, publicado_menu, perfil_menu, aberto, desc_menu, nome_menu, es, en from ".$esquemaadmin."i3geoadmin_menus order by lower(nome_menu)", $dbh, false ); 93 + $dados = pegaDados ( "SELECT id_menu, nome_menu from ".$esquemaadmin."i3geoadmin_menus order by lower(nome_menu)", $dbh, false );
79 if ($dados === false) { 94 if ($dados === false) {
80 $dbhw = null; 95 $dbhw = null;
81 $dbh = null; 96 $dbh = null;
admin1/catalogo/menus/index.js
@@ -27,6 +27,8 @@ i3GEOadmin.menus = { @@ -27,6 +27,8 @@ i3GEOadmin.menus = {
27 ondeLista: "", 27 ondeLista: "",
28 //conteudo html do formulario de adicao de operacao 28 //conteudo html do formulario de adicao de operacao
29 formAdiciona: "", 29 formAdiciona: "",
  30 + //parametros obtidos do formulario de edicao antes de abrir o modal de confirmacao
  31 + parametrosSalvar: "",
30 init: function(onde){ 32 init: function(onde){
31 i3GEOadmin.menus.ondeLista = onde; 33 i3GEOadmin.menus.ondeLista = onde;
32 i3GEOadmin.menus.lista(); 34 i3GEOadmin.menus.lista();
@@ -49,7 +51,6 @@ Obtém a lista de menus @@ -49,7 +51,6 @@ Obtém a lista de menus
49 var json = jQuery.parseJSON(data); 51 var json = jQuery.parseJSON(data);
50 //template do form de cada operacao 52 //template do form de cada operacao
51 var templateLista = $("#templateLista").html(); 53 var templateLista = $("#templateLista").html();
52 - templateLista = templateLista.replace("{{{templateFormLista}}}",$("#templateFormLista").html());  
53 //combo com perfis 54 //combo com perfis
54 var opcoesPerfil = '<option value="">---</option>' + Mustache.to_html( 55 var opcoesPerfil = '<option value="">---</option>' + Mustache.to_html(
55 "{{#data}}" + $("#templateOpcoesPerfil").html() + "{{/data}}", 56 "{{#data}}" + $("#templateOpcoesPerfil").html() + "{{/data}}",
@@ -64,28 +65,7 @@ Obt&amp;eacute;m a lista de menus @@ -64,28 +65,7 @@ Obt&amp;eacute;m a lista de menus
64 { 65 {
65 "data": json["dados"], 66 "data": json["dados"],
66 "onExcluir": "i3GEOadmin.menus.excluirDialogo",//funcao 67 "onExcluir": "i3GEOadmin.menus.excluirDialogo",//funcao
67 - "onSalvar": "i3GEOadmin.menus.salvarDialogo",//funcao  
68 - "opcoesAberto": function(){  
69 - var hash = {};  
70 - hash[this.aberto + "-sel"] = "selected";  
71 - hash["sim"] = i3GEOadmin.menus.dicionario.sim;  
72 - hash["nao"] = i3GEOadmin.menus.dicionario.nao;  
73 - return Mustache.to_html(  
74 - $("#templateOpcoesAberto").html(),  
75 - hash  
76 - );  
77 - },  
78 - "opcoesPublicado": function(){  
79 - var hash = {};  
80 - hash[this.publicado_menu + "-sel"] = "selected";  
81 - hash["sim"] = i3GEOadmin.menus.dicionario.sim;  
82 - hash["nao"] = i3GEOadmin.menus.dicionario.nao;  
83 - return Mustache.to_html(  
84 - $("#templateOpcoesPublicado").html(),  
85 - hash  
86 - );  
87 - },  
88 - "opcoesPerfil": opcoesPerfil 68 + "onEditar": "i3GEOadmin.menus.editarDialogo"
89 } 69 }
90 ) 70 )
91 ); 71 );
@@ -148,6 +128,66 @@ Obt&amp;eacute;m a lista de menus @@ -148,6 +128,66 @@ Obt&amp;eacute;m a lista de menus
148 i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); 128 i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
149 }); 129 });
150 }, 130 },
  131 + editarDialogo: function(id){
  132 + i3GEOadmin.core.fechaModalGeral();
  133 + i3GEOadmin.core.modalAguarde(true);
  134 + $.post(
  135 + "exec.php?funcao=listaunico",
  136 + "id_menu=" + id
  137 + )
  138 + .done(
  139 + function(data, status){
  140 + var json = jQuery.parseJSON(data);
  141 + var templateLista = $("#templateFormLista").html();
  142 + //combo com perfis
  143 + var opcoesPerfil = '<option value="">---</option>' + Mustache.to_html(
  144 + "{{#data}}" + $("#templateOpcoesPerfil").html() + "{{/data}}",
  145 + {"data":json["perfis"]}
  146 + );
  147 + //lista todas as menus
  148 + var html = Mustache.to_html(
  149 + "{{#data}}" + templateLista + "{{/data}}",
  150 + $.extend(
  151 + {},
  152 + i3GEOadmin.menus.dicionario,
  153 + {
  154 + "data": json["dados"],
  155 + "onExcluir": "i3GEOadmin.menus.excluirDialogo",//funcao
  156 + "onSalvar": "i3GEOadmin.menus.salvarDialogo",//funcao
  157 + "opcoesAberto": function(){
  158 + var hash = {};
  159 + hash[this.aberto + "-sel"] = "selected";
  160 + hash["sim"] = i3GEOadmin.menus.dicionario.sim;
  161 + hash["nao"] = i3GEOadmin.menus.dicionario.nao;
  162 + return Mustache.to_html(
  163 + $("#templateOpcoesAberto").html(),
  164 + hash
  165 + );
  166 + },
  167 + "opcoesPublicado": function(){
  168 + var hash = {};
  169 + hash[this.publicado_menu + "-sel"] = "selected";
  170 + hash["sim"] = i3GEOadmin.menus.dicionario.sim;
  171 + hash["nao"] = i3GEOadmin.menus.dicionario.nao;
  172 + return Mustache.to_html(
  173 + $("#templateOpcoesPublicado").html(),
  174 + hash
  175 + );
  176 + },
  177 + "opcoesPerfil": opcoesPerfil
  178 + }
  179 + )
  180 + );
  181 + i3GEOadmin.core.abreModalGeral(html);
  182 + }
  183 + )
  184 + .fail(
  185 + function(data){
  186 + i3GEOadmin.core.modalAguarde(false);
  187 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  188 + }
  189 + );
  190 + },
151 adicionaDialogo: function(){ 191 adicionaDialogo: function(){
152 i3GEOadmin.core.abreModalGeral(i3GEOadmin.menus.formAdiciona); 192 i3GEOadmin.core.abreModalGeral(i3GEOadmin.menus.formAdiciona);
153 }, 193 },
@@ -205,17 +245,18 @@ Obt&amp;eacute;m a lista de menus @@ -205,17 +245,18 @@ Obt&amp;eacute;m a lista de menus
205 ); 245 );
206 }, 246 },
207 salvarDialogo: function(id){ 247 salvarDialogo: function(id){
  248 + i3GEOadmin.menus.parametrosSalvar = $("#form-edicao-" + id).serialize();
208 var hash = { 249 var hash = {
209 "mensagem": i3GEOadmin.menus.dicionario.confirma, 250 "mensagem": i3GEOadmin.menus.dicionario.confirma,
210 "onBotao1": "i3GEOadmin.menus.salvar('"+id+"')", 251 "onBotao1": "i3GEOadmin.menus.salvar('"+id+"')",
211 "botao1": i3GEOadmin.menus.dicionario.sim, 252 "botao1": i3GEOadmin.menus.dicionario.sim,
212 - "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", 253 + "onBotao2": "i3GEOadmin.menus.parametrosSalvar = '';i3GEOadmin.core.fechaModalConfirma();",
213 "botao2": i3GEOadmin.menus.dicionario.nao 254 "botao2": i3GEOadmin.menus.dicionario.nao
214 }; 255 };
215 i3GEOadmin.core.abreModalConfirma(hash); 256 i3GEOadmin.core.abreModalConfirma(hash);
216 }, 257 },
217 salvar: function(id){ 258 salvar: function(id){
218 - var parametros = $("#form-" + id + " form").serialize(); 259 + var parametros = i3GEOadmin.menus.parametrosSalvar;
219 i3GEOadmin.core.fechaModalGeral(); 260 i3GEOadmin.core.fechaModalGeral();
220 i3GEOadmin.core.modalAguarde(true); 261 i3GEOadmin.core.modalAguarde(true);
221 $.post( 262 $.post(
@@ -224,6 +265,7 @@ Obt&amp;eacute;m a lista de menus @@ -224,6 +265,7 @@ Obt&amp;eacute;m a lista de menus
224 ) 265 )
225 .done( 266 .done(
226 function(data, status){ 267 function(data, status){
  268 + i3GEOadmin.menus.parametrosSalvar = '';
227 i3GEOadmin.core.modalAguarde(false); 269 i3GEOadmin.core.modalAguarde(false);
228 i3GEOadmin.core.iconeAguarde(i3GEOadmin.menus.ondeLista); 270 i3GEOadmin.core.iconeAguarde(i3GEOadmin.menus.ondeLista);
229 i3GEOadmin.menus.lista(); 271 i3GEOadmin.menus.lista();
@@ -231,6 +273,7 @@ Obt&amp;eacute;m a lista de menus @@ -231,6 +273,7 @@ Obt&amp;eacute;m a lista de menus
231 ) 273 )
232 .fail( 274 .fail(
233 function(data){ 275 function(data){
  276 + i3GEOadmin.menus.parametrosSalvar = '';
234 i3GEOadmin.core.modalAguarde(false); 277 i3GEOadmin.core.modalAguarde(false);
235 i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); 278 i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
236 } 279 }
admin1/catalogo/menus/index.php
@@ -62,7 +62,7 @@ include &quot;../../head.php&quot;; @@ -62,7 +62,7 @@ include &quot;../../head.php&quot;;
62 <option value="form-{{id_menu}}">{{{nome_menu}}}</option> 62 <option value="form-{{id_menu}}">{{{nome_menu}}}</option>
63 </script> 63 </script>
64 <script id="templateFormLista" type="x-tmpl-mustache"> 64 <script id="templateFormLista" type="x-tmpl-mustache">
65 -<form style="" action="#" onsubmit="{{onSalvar}}('{{id_menu}}');return false;" onchange="this.style.boxShadow='2px 2px 5px 0 #009688';" class="form-horizontal" 65 +<form id="form-edicao-{{id_menu}}" style="" action="#" onsubmit="{{onSalvar}}('{{id_menu}}');return false;" onchange="this.style.boxShadow='2px 2px 5px 0 #009688';" class="form-horizontal"
66 role="form" method="post" > 66 role="form" method="post" >
67 <div class="row"> 67 <div class="row">
68 <div class="col-md-12"> 68 <div class="col-md-12">
@@ -126,28 +126,27 @@ include &quot;../../head.php&quot;; @@ -126,28 +126,27 @@ include &quot;../../head.php&quot;;
126 </form> 126 </form>
127 </script> 127 </script>
128 <script id="templateLista" type="x-tmpl-mustache"> 128 <script id="templateLista" type="x-tmpl-mustache">
129 -<div class="panel panel-default" id="form-{{id_menu}}">  
130 - <div class="panel-heading icon" role="tab">  
131 - <h3 class="panel-title {{escondido}}">  
132 - <a href="javascript:void(0)" onclick="{{onExcluir}}('{{id_menu}}')" class="btn btn-danger btn-fab btn-fab-mini" role="button">  
133 - <i class="material-icons">delete_forever</i> 129 +<div class="list-group-item" id="form-{{id_menu}}">
  130 + <div class="row-content">
  131 + <h3 class="list-group-item-heading {{escondido}}">
  132 + {{{nome_menu}}}
  133 + <div class="pull-right">
  134 + <a role="button" class="btn btn-danger btn-fab btn-fab-mini pull-left" onclick="i3GEOadmin.menus.editarGrupos('{{id_menu}}','{{{nome_menu}}}')" href="javascript:void(0)">
  135 + <i class="material-icons md-18">folder_open</i>
  136 + </a>
  137 + <label class=pull-right><h6 style="margin-top: 5px; margin-bottom: 5px;">&nbsp;{{{txtGrupo}}}</h6></label>
  138 + </div>
  139 + <span class="pull-right">&nbsp;&nbsp;</span>
  140 + <a href="javascript:void(0)" onclick="{{onEditar}}('{{id_menu}}')" class="btn btn-danger btn-fab btn-fab-mini pull-right" role="button">
  141 + <i class="material-icons md-18">edit</i>
  142 + </a>
  143 + <span class="pull-right">&nbsp;&nbsp;</span>
  144 + <a href="javascript:void(0)" onclick="{{onExcluir}}('{{id_menu}}')" class="btn btn-danger btn-fab btn-fab-mini pull-right" role="button">
  145 + <i class="material-icons md-18">delete_forever</i>
134 </a> 146 </a>
135 - &nbsp;  
136 - <a class="collapsed in" role="button" data-toggle="collapse" href="#body-form-{{id_menu}}"  
137 - aria-expanded="false" aria-controls="#body-form-{{id_menu}}"> {{{nome_menu}}} </a>  
138 </h3> 147 </h3>
139 </div> 148 </div>
140 - <div class="panel-body panel-collapse collapse" id="body-form-{{id_menu}}">  
141 - {{{templateFormLista}}}  
142 - </div>  
143 - <div class="panel-footer {{{escondido}}}" style="padding-top: 0px; padding-bottom: 0px;">  
144 - <div class="pull-right">  
145 - <button style="color:#007a6f;" onclick="i3GEOadmin.menus.editarGrupos('{{id_menu}}','{{{nome_menu}}}')" class="btn btn-primary btn-xs" style="margin-top: 2px; margin-bottom: 2px;">  
146 - <i class="material-icons">folder_open</i> {{{grupos}}}  
147 - </button>  
148 - </div>  
149 - <div class="clearfix"></div>  
150 - </div> 149 + <div class="list-group-separator"></div>
151 </div> 150 </div>
152 </script> 151 </script>
153 <script id="templateOpcoesPerfil" type="x-tmpl-mustache"> 152 <script id="templateOpcoesPerfil" type="x-tmpl-mustache">
admin1/dicionario/menus.js
@@ -105,8 +105,8 @@ i3GEOadmin.menus.dicionario = { @@ -105,8 +105,8 @@ i3GEOadmin.menus.dicionario = {
105 en : "", 105 en : "",
106 es : "" 106 es : ""
107 } ], 107 } ],
108 - '' : [ {  
109 - pt : "", 108 + 'txtGrupo' : [ {
  109 + pt : "grupos",
110 en : "", 110 en : "",
111 es : "" 111 es : ""
112 } ] 112 } ]