Commit 245fb615c84996287cdb2727d7807d396202eb3f
1 parent
7ef009ff
Exists in
master
and in
7 other branches
-
Showing
3 changed files
with
63 additions
and
45 deletions
Show diff stats
classesphp/classe_toponimia.php
... | ... | @@ -58,7 +58,7 @@ class Toponimia |
58 | 58 | |
59 | 59 | Objeto layer |
60 | 60 | */ |
61 | - protected $layer; | |
61 | + public $layer; | |
62 | 62 | /* |
63 | 63 | Variavel: $nome |
64 | 64 | |
... | ... | @@ -313,12 +313,15 @@ $item Lista de Itens separados por vírgula que serão utilizados. |
313 | 313 | { |
314 | 314 | if(!$this->layer){return "erro";} |
315 | 315 | $itens = $this->layer->getmetadata("ITENS"); |
316 | + $itens = explode(",",$itens); | |
316 | 317 | $itensdesc = $this->layer->getmetadata("ITENSDESC"); |
318 | + $itensdesc = explode(",",$itensdesc); | |
317 | 319 | $tips = $this->layer->getmetadata("TIP"); |
318 | 320 | $res = array( |
319 | - "itens"=>explode(",",$itens), | |
320 | - "itensdesc"=>explode(",",$itensdesc), | |
321 | - "tips"=>explode(",",$tips) | |
321 | + "itens"=>$itens, | |
322 | + "itensdesc"=>$itensdesc, | |
323 | + "tips"=>explode(",",$tips), | |
324 | + "comb"=>array_combine($itens,$itensdesc) | |
322 | 325 | ); |
323 | 326 | return($res); |
324 | 327 | } | ... | ... |
ferramentas/etiqueta/exec.php
... | ... | @@ -17,7 +17,8 @@ Ativa as etiquetas de um tema. |
17 | 17 | include_once(dirname(__FILE__)."/../../classesphp/classe_toponimia.php"); |
18 | 18 | copiaSeguranca($map_file); |
19 | 19 | $m = new Toponimia($map_file,$tema); |
20 | - $retorno = $m->ativaEtiquetas($item); | |
20 | + $retorno = $m->ativaEtiquetas($tips); | |
21 | + $m->layer->setmetadata("ITENS",$itens); | |
21 | 22 | $m->salva(); |
22 | 23 | $_SESSION["contadorsalva"]++; |
23 | 24 | break; | ... | ... |
ferramentas/etiqueta/index.js
... | ... | @@ -178,20 +178,12 @@ i3GEOF.etiqueta = { |
178 | 178 | i3GEO.php.listaItensTema(i3GEOF.etiqueta.montaListaItens,i3GEO.temaAtivo); |
179 | 179 | } |
180 | 180 | }, |
181 | - pegaDadosEtiquetas: function(){ | |
182 | - if(i3GEOF.etiqueta.aguarde.visibility === "visible") | |
183 | - {return;} | |
181 | + pegaDadosEtiquetas: function(funcao){ | |
184 | 182 | var cp = new cpaint(), |
185 | - temp, | |
186 | 183 | p; |
187 | - i3GEOF.etiqueta.aguarde.visibility = "visible"; | |
188 | - temp = function(retorno){ | |
189 | - i3GEOF.etiqueta.aguarde.visibility = "hidden"; | |
190 | - | |
191 | - }; | |
192 | 184 | p = i3GEO.configura.locaplic+"/ferramentas/etiqueta/exec.php?g_sid="+i3GEO.configura.sid+"&funcao=pegaDadosEtiquetas&tema="+i3GEO.temaAtivo; |
193 | 185 | cp.set_response_type("JSON"); |
194 | - cp.call(p,"etiqueta",temp); | |
186 | + cp.call(p,"etiqueta",funcao); | |
195 | 187 | }, |
196 | 188 | /* |
197 | 189 | Function: montaListaItens |
... | ... | @@ -203,29 +195,43 @@ i3GEOF.etiqueta = { |
203 | 195 | @TODO verificar quando um item ja esta na lista e marca-lo no checkbox |
204 | 196 | */ |
205 | 197 | montaListaItens: function(retorno){ |
206 | - var ins,i,n,itensatuais,item; | |
207 | - try{ | |
208 | - itensatuais = i3GEO.arvoreDeCamadas.pegaTema(i3GEO.temaAtivo); | |
209 | - itensatuais = itensatuais.etiquetas.split(","); | |
210 | - ins = []; | |
211 | - ins.push("<table class=lista >"); | |
212 | - n = retorno.data.valores.length; | |
213 | - for (i=0;i<n; i++){ | |
214 | - item = retorno.data.valores[i].item; | |
215 | - ins.push("<tr><td><input size=2 style='cursor:pointer' type=checkbox id=i3GEOetiqueta"+item+" /></td>"); | |
216 | - ins.push("<td> "+item+"</td>"); | |
217 | - } | |
218 | - $i("i3GEOetiquetalistai").innerHTML = ins.join(""); | |
219 | - n = itensatuais.length; | |
220 | - for (i=0;i<n; i++){ | |
221 | - item = $i("i3GEOetiqueta"+itensatuais[i]); | |
222 | - if(item) | |
223 | - {item.checked = true;} | |
198 | + var funcao = function(dadosItens){ | |
199 | + var ins,i,n,itensatuais,item,ck = '',lista; | |
200 | + lista = dadosItens.data.comb; | |
201 | + try{ | |
202 | + itensatuais = i3GEO.arvoreDeCamadas.pegaTema(i3GEO.temaAtivo); | |
203 | + itensatuais = itensatuais.etiquetas.split(","); | |
204 | + ins = []; | |
205 | + ins.push("<table class='lista6' >"); | |
206 | + ins.push("<tr><td>Coluna</td><td>Tip</td><td>Identifica</td>"); | |
207 | + n = retorno.data.valores.length; | |
208 | + for (i=0;i<n; i++){ | |
209 | + item = retorno.data.valores[i].item; | |
210 | + if(i3GEO.util.in_array(item,itensatuais)){ | |
211 | + ck = "checked"; | |
212 | + } | |
213 | + else{ | |
214 | + ck = ""; | |
215 | + } | |
216 | + ins.push("<tr>"); | |
217 | + ins.push("<td> "+item+"</td>"); | |
218 | + ins.push("<td><input style='cursor:pointer' "+ck+" type='checkbox' value='"+item+"' name='etiquetaTip' /></td>"); | |
219 | + if(lista[item]){ | |
220 | + ck = "checked"; | |
221 | + } | |
222 | + else{ | |
223 | + ck = ""; | |
224 | + } | |
225 | + ins.push("<td><input style='cursor:pointer' "+ck+" type='checkbox' value='"+item+"' name='identifica' /></td>"); | |
226 | + ins.push("</tr>"); | |
227 | + } | |
228 | + $i("i3GEOetiquetalistai").innerHTML = ins.join(""); | |
229 | + ins.push("</table>"); | |
224 | 230 | } |
225 | - ins.push("</table>"); | |
226 | - } | |
227 | - catch(e) | |
228 | - {$i("i3GEOetiquetalistai").innerHTML = "<p style=color:red >Erro<br>"+e;} | |
231 | + catch(e) | |
232 | + {$i("i3GEOetiquetalistai").innerHTML = "<p style=color:red >Erro<br>"+e;} | |
233 | + }; | |
234 | + i3GEOF.etiqueta.pegaDadosEtiquetas(funcao); | |
229 | 235 | }, |
230 | 236 | /* |
231 | 237 | Function: pegaItensMarcados |
... | ... | @@ -233,18 +239,22 @@ i3GEOF.etiqueta = { |
233 | 239 | Recupera os itens que foram marcados e monta uma lista para enviar como par�metro para a função de geração dos gráficos |
234 | 240 | */ |
235 | 241 | pegaItensMarcados: function(){ |
236 | - var listadeitens = [], | |
242 | + var tips = [], | |
243 | + itens = [], | |
237 | 244 | inputs = $i("i3GEOetiquetalistai").getElementsByTagName("input"), |
238 | 245 | i, |
239 | 246 | it, |
240 | 247 | n = inputs.length; |
241 | 248 | for (i=0;i<n; i++){ |
242 | - if (inputs[i].checked === true){ | |
243 | - it = inputs[i].id; | |
244 | - listadeitens.push(it.replace("i3GEOetiqueta","")); | |
249 | + it = inputs[i]; | |
250 | + if (it.checked === true && it.name === "etiquetaTip"){ | |
251 | + tips.push(it.value); | |
252 | + } | |
253 | + if (it.checked === true && it.name === "identifica"){ | |
254 | + itens.push(it.value); | |
245 | 255 | } |
246 | 256 | } |
247 | - return(listadeitens); | |
257 | + return([tips,itens]); | |
248 | 258 | }, |
249 | 259 | /* |
250 | 260 | Function: ativa |
... | ... | @@ -263,14 +273,18 @@ i3GEOF.etiqueta = { |
263 | 273 | cp = new cpaint(), |
264 | 274 | temp, |
265 | 275 | p; |
266 | - if(lista.length === 0) | |
267 | - {i3GEO.janela.tempoMsg("selecione um item");return;} | |
276 | + | |
268 | 277 | i3GEOF.etiqueta.aguarde.visibility = "visible"; |
269 | 278 | temp = function(retorno){ |
270 | 279 | i3GEOF.etiqueta.aguarde.visibility = "hidden"; |
271 | 280 | i3GEO.atualiza(retorno); |
272 | 281 | }; |
273 | - p = i3GEO.configura.locaplic+"/ferramentas/etiqueta/exec.php?g_sid="+i3GEO.configura.sid+"&funcao=ativaEtiquetas&tema="+i3GEO.temaAtivo+"&item="+lista.toString(","); | |
282 | + p = i3GEO.configura.locaplic+"/ferramentas/etiqueta/exec.php?g_sid=" | |
283 | + + i3GEO.configura.sid | |
284 | + + "&funcao=ativaEtiquetas&tema=" | |
285 | + + i3GEO.temaAtivo | |
286 | + + "&tips="+lista[0].toString(",") | |
287 | + + "&itens="+lista[1].toString(","); | |
274 | 288 | cp.set_response_type("JSON"); |
275 | 289 | cp.call(p,"etiqueta",temp); |
276 | 290 | }catch(e){i3GEO.janela.tempoMsg("Erro: "+e);i3GEOF.etiqueta.aguarde.visibility = "hidden";} | ... | ... |