Commit 20aed09b31bf98afe9ae4ef02a8d59d4b504d94d

Authored by Edmar Moretti
1 parent a560b6c9

Reformulação da interface do geradordelinks e dos javascripts que agora utiliza …

…o diretório classesjs. O javascript foi transformado em uma API
Showing 1 changed file with 20 additions and 377 deletions   Show diff stats
geradordelinks.htm
@@ -11,10 +11,7 @@ @@ -11,10 +11,7 @@
11 P 11 P
12 {COLOR: #2F4632;text-align: justify;font-size: 12px;font-family: Verdana, Arial, Helvetica, sans-serif;} 12 {COLOR: #2F4632;text-align: justify;font-size: 12px;font-family: Verdana, Arial, Helvetica, sans-serif;}
13 </style> 13 </style>
14 -<script src="pacotes/cpaint/cpaint2.inc.compressed.js" type="text/javascript"></script>  
15 -<script type="text/javascript" src="pacotes/openlayers/OpenLayers.js"></script>  
16 -<script type="text/javascript" src="classesjs/compactados/funcoes_compacto.js"></script>  
17 - 14 +<script type="text/javascript" src="classesjs/geradordelinks.js"></script>
18 </head> 15 </head>
19 <body style="background-color:white;text-align:left;left:0px;"> 16 <body style="background-color:white;text-align:left;left:0px;">
20 <!--<div id=banner style=position:relative;top:0px;left:0px;text-align:left > 17 <!--<div id=banner style=position:relative;top:0px;left:0px;text-align:left >
@@ -85,36 +82,14 @@ dos pontos em décimos de grau (exemplo: -54 -12 -54 1 -51 -15) (opcional):&lt;/b&gt;&lt;/ @@ -85,36 +82,14 @@ dos pontos em décimos de grau (exemplo: -54 -12 -54 1 -51 -15) (opcional):&lt;/b&gt;&lt;/
85 </select> 82 </select>
86 </div> 83 </div>
87 </div> 84 </div>
88 -<div style='width:550px;top:35px;left:10px;text-align:left;border:1px gray solid;' >  
89 - <div style=margin:10px;text-align:left; >  
90 - <p><b>Utilize o mapa para definir as coordenadas geográficas do mapa, ou digite os valores desejados (opcional):</b></p>  
91 - <div id=mapa1 style="width:250px;height:250px;border:1px solid blue;display:none"></div>  
92 - <div style=position:absolute;top:40px;left:270px;text-align:left; >  
93 - Coordenadas geográficas em décimos de grau:<br><br>  
94 - Longitude mínima:<br>  
95 - <div style=padding:5px;width:80px; id=paiXmin >  
96 - <input onchange="crialink()" type=text size=10 value="" id=xmin />  
97 - </div><br>  
98 - Longitude máxima:<br>  
99 - <div style=padding:5px;width:80px; id=paiXmax >  
100 - <input onchange="crialink()" type=text size=10 value="" id=xmax />  
101 - </div><br>  
102 - Latitude mínima:<br>  
103 - <div style=padding:5px;width:80px; id=paiYmin >  
104 - <input onchange="crialink()" type=text size=10 value="" id=ymin />  
105 - </div><br>  
106 - Latitude máxima:<br>  
107 - <div style=padding:5px;width:80px; id=paiYmax >  
108 - <input onchange="crialink()" type=text size=10 value="" id=ymax />  
109 - </div><br>  
110 - <input class=executar type=button value="capturar" onclick="capturageo()" />  
111 - </div>  
112 - </div> 85 +<div id=buscageo style='width:550px;top:35px;left:10px;text-align:left;border:1px gray solid;' >
113 </div> 86 </div>
114 </body> 87 </body>
115 <script> 88 <script>
116 /* 89 /*
117 -Title: Aplicativo para geração de links 90 +Title: i3geo/geradordelinks.htm
  91 +
  92 +Aplicativo para geração de links
118 93
119 Esse aplicativo permite ao usuário gerar links para abertura do i3geo. 94 Esse aplicativo permite ao usuário gerar links para abertura do i3geo.
120 95
@@ -138,356 +113,24 @@ GNU junto com este programa; se não, escreva para a @@ -138,356 +113,24 @@ GNU junto com este programa; se não, escreva para a
138 Free Software Foundation, Inc., no endereço 113 Free Software Foundation, Inc., no endereço
139 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. 114 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
140 115
141 -File: i3geo/geradordelinks.htm  
142 -  
143 -*/  
144 -navm = false  
145 -navn = false  
146 -var app = navigator.appName.substring(0,1);  
147 -if (app=='N') navn=true; else navm=true;  
148 -  
149 -$inputText("paiPontos","","pontos","","","")  
150 -$inputText("paiNometemapontos","","nometemapontos","","","")  
151 -$inputText("paiPerfil","","perfil","","","")  
152 -$inputText("paiXmin","","xmin","","","")  
153 -$inputText("paiXmax","","xmax","","","")  
154 -$inputText("paiYmin","","ymin","","","")  
155 -$inputText("paiYmax","","ymax","","","")  
156 -  
157 -/*  
158 -Variable: g_locaplic  
159 -  
160 -Localização da instalação do i3geo.  
161 -*/  
162 -g_locaplic = "http://"+window.location.host+"/i3geo";  
163 -i3geo_gl_seltema("estadosl")  
164 -i3geo_gl_crialink()  
165 -i3geo_gl_pegagrupos()  
166 -i3geo_gl_init()  
167 -  
168 -/*  
169 -Function: i3geo_gl_crialink  
170 -  
171 -Cria o link e mostra na tela.  
172 -  
173 -*/  
174 -function i3geo_gl_crialink()  
175 -{  
176 - var ins = g_locaplic+"/ms_criamapa.php?";  
177 - var iguias = $i("temasa").getElementsByTagName("input");  
178 - var tsl = new Array(); //temas ligados  
179 - var tsd = new Array(); //temas  
180 - for (i=0;i<iguias.length; i++)  
181 - {  
182 - if (iguias[i].type == "checkbox")  
183 - {  
184 - tsd.push(iguias[i].value);  
185 - if (iguias[i].checked == true)  
186 - {tsl.push(iguias[i].value);}  
187 - }  
188 - }  
189 - if(tsd.length > 0)  
190 - {ins += "&temasa="+tsd.join(" ")}  
191 - if(tsl.length > 0)  
192 - {ins += "&layers="+tsl.join(" ")}  
193 - if($i("pontos").value != "")  
194 - {  
195 - ins += "&pontos="+$i("pontos").value  
196 - ins += "&nometemapontos="+$i("nometemapontos").value  
197 - }  
198 - if($i("perfil").value != "")  
199 - {  
200 - ins += "&perfil="+$i("perfil").value  
201 - }  
202 - if($i("interface").value != "")  
203 - {  
204 - ins += "&interface="+$i("interface").value  
205 - }  
206 - if($i("xmin").value != "")  
207 - {  
208 - ins += "&mapext="+$i("xmin").value+" "  
209 - ins += $i("ymin").value+" "  
210 - ins += $i("xmax").value+" "  
211 - ins += $i("ymax").value  
212 - }  
213 - $i("link").href = ins  
214 - $i("link").innerHTML = ins  
215 -}  
216 -/*  
217 -Function: i3geo_gl_pegagrupos  
218 -  
219 -Pega a lista de grupos existentes no menu de temas do i3geo.  
220 -*/  
221 -function i3geo_gl_pegagrupos()  
222 -{  
223 - var p = "classesphp/mapa_controle.php?funcao=pegalistadegrupos&map_file=''";  
224 - var cp = new cpaint();  
225 - //cp.set_debug(2)  
226 - cp.set_response_type("JSON");  
227 - cp.call(p,"pegalistadegrupos",combogrupos);  
228 -}  
229 -/*  
230 -Function: combogrupos  
231 -  
232 -Monta um combo com a lista de grupos.  
233 -*/  
234 -function combogrupos(retorno)  
235 -{  
236 - obGrupos = retorno.data  
237 - var ins = "<select style=width:250px onchange='combosubgrupos(this.value)' ><option value='' >Escolha um grupo:</option>"  
238 - for (ig=0;ig<obGrupos.grupos.length; ig++)  
239 - {  
240 - if(obGrupos.grupos[ig].nome)  
241 - ins += "<option value="+ig+" >"+obGrupos.grupos[ig].nome+"</option>"  
242 - }  
243 - $i("grupos").innerHTML = ins+"</select>"  
244 - combosubgrupos(-1)  
245 -}  
246 -/*  
247 -Function: combosubgrupos  
248 -  
249 -Monta um combo com a lista de subgrupos de um grupo.  
250 -  
251 -Chamado pela função combogrupos. 116 +Veja:
252 117
253 -Parameters:  
254 -  
255 -i - id que identifica o grupo escolhido.  
256 -*/  
257 -function combosubgrupos(i)  
258 -{  
259 - var ins = "<select style=width:250px onchange='combotemas("+i+",this.value)' ><option value='' >Escolha um sub-grupo:</option>"  
260 - if (obGrupos.grupos[i])  
261 - {  
262 - for (ig=0;ig<obGrupos.grupos[i].subgrupos.length; ig++)  
263 - {  
264 - ins += "<option value="+ig+" >"+obGrupos.grupos[i].subgrupos[ig].nome+"</option>"  
265 - }  
266 - }  
267 - $i("subgrupos").innerHTML = ins+"</select>"  
268 - combotemasgrupo(i)  
269 -}  
270 -/*  
271 -Function: combotemasgrupo  
272 -  
273 -Monta um combo com a lista de temas vinculados diretamente a um grupo.  
274 -  
275 -Chamado pela função combosubgrupos.  
276 -  
277 -Parameters:  
278 -  
279 -i - id que identifica o grupo escolhido.  
280 -*/  
281 -function combotemasgrupo(i)  
282 -{  
283 - var ins = "<select style=width:250px MULTIPLE SIZE=10 onchange=i3geo_gl_seltema(this.value) ><option value='' >Clique no tema para incluir:</option>"  
284 - if (obGrupos.grupos[i])  
285 - {  
286 - for (ig=0;ig<obGrupos.grupos[i].temasgrupo.length; ig++)  
287 - {  
288 - ins += "<option value="+obGrupos.grupos[i].temasgrupo[ig].tid+" >"+obGrupos.grupos[i].temasgrupo[ig].nome+"</option>"  
289 - }  
290 - }  
291 - $i("temas").innerHTML = ins+"</select>"  
292 -}  
293 -/*  
294 -Function: combotemas 118 +<i3geo/classesjs/geradordelinks.js>
295 119
296 -Monta um combo com a lista de temas ligados a um sub-grupo.  
297 -  
298 -Parameters:  
299 -  
300 -grupo - id que identifica um grupo  
301 -  
302 -sub - id que identifica um subgrupo  
303 -*/  
304 -function combotemas(grupo,sub)  
305 -{  
306 - var monta = function(retorno)  
307 - {  
308 - var ins = "<select style=width:250px MULTIPLE SIZE=10 onchange=i3geo_gl_seltema(this.value) ><option value='' >Clique no tema para incluir:</option>"  
309 - for (ig=0;ig<retorno.data.temas.length; ig++)  
310 - {  
311 - ins += "<option value="+retorno.data.temas[ig].tid+" >"+retorno.data.temas[ig].nome+"</option>"  
312 - }  
313 - $i("temas").innerHTML = ins+"</select>"  
314 - }  
315 - var p = "classesphp/mapa_controle.php?funcao=pegalistadetemas&map_file=''&grupo="+grupo+"&subgrupo="+sub;  
316 - var cp = new cpaint();  
317 - //cp.set_debug(2)  
318 - cp.set_response_type("JSON");  
319 - cp.call(p,"pegalistadetemas",monta);  
320 -}  
321 -/*  
322 -Function i3geo_gl_seltema  
323 -  
324 -Acrescenta um tema no link.  
325 -  
326 -Além de acrescentar o tema no link, o tema é acrescentado na lista de gerenciamento dos temas já escolhidos.  
327 -  
328 -Parameters:  
329 -  
330 -idtema - codigo do tema que será crescentado  
331 -*/  
332 -function i3geo_gl_seltema(idtema)  
333 -{  
334 - var novodiv = document.createElement("div");  
335 - novodiv.style.textAlign="left"  
336 - novodiv.id = idtema  
337 - $i("temasa").appendChild(novodiv);  
338 - var novoel = document.createElement("img");  
339 - novoel.title = "excluir"  
340 - novoel.onclick = excluir  
341 - novoel.src = "imagens/x.png"  
342 - novodiv.appendChild(novoel);  
343 - var novoel = document.createElement("img");  
344 - novoel.title = "subir"  
345 - novoel.src = "imagens/sobe.gif"  
346 - novoel.onclick = subir  
347 - novodiv.appendChild(novoel);  
348 - var novoel = document.createElement("img");  
349 - novoel.title = "descer"  
350 - novoel.src = "imagens/desce.gif"  
351 - novoel.onclick = descer  
352 - novodiv.appendChild(novoel);  
353 - var novoel = document.createElement("input");  
354 - novoel.onclick = i3geo_gl_crialink  
355 - novoel.title = "visível/não visível"  
356 - novoel.type = "checkbox"  
357 - novoel.style.cursor="pointer"  
358 - novoel.style.top="3px"  
359 - novoel.style.position="relative"  
360 - novoel.style.border="0px"  
361 - novoel.value=idtema  
362 - novodiv.appendChild(novoel);  
363 - var novoel = document.createElement("span");  
364 - novoel.innerHTML = idtema  
365 - novodiv.appendChild(novoel);  
366 - novodiv.appendChild(document.createElement("br"));  
367 - i3geo_gl_crialink()  
368 -}  
369 -/*  
370 -Function: descer  
371 -  
372 -Desce um tema na lista de temas selecionados.  
373 -  
374 -Parameters:  
375 -  
376 -e - elemento do DOM.  
377 -*/  
378 -function descer(e)  
379 -{  
380 - var pai = pegaElementoPai(e)  
381 - divpai = pai.parentNode  
382 - if(pai.nextSibling)  
383 - divpai.insertBefore(pai,pai.nextSibling.nextSibling)  
384 - i3geo_gl_crialink()  
385 -}  
386 -/*  
387 -Function: subir  
388 -  
389 -Sobe um tema na lista de temas selecionados  
390 -  
391 -Parameters:  
392 -  
393 -e - elemento do DOM.  
394 -*/  
395 -function subir(e)  
396 -{  
397 - var pai = pegaElementoPai(e)  
398 - divpai = pai.parentNode  
399 - divpai.insertBefore(pai,pai.previousSibling)  
400 - i3geo_gl_crialink()  
401 -}  
402 -/*  
403 -Function: excluir  
404 -  
405 -Exclui um tema da lista de temas selecionados  
406 -  
407 -Parameters:  
408 -  
409 -e - elemento do DOM.  
410 -*/  
411 -function excluir(e)  
412 -{  
413 - var pai = pegaElementoPai(e)  
414 - pai.parentNode.removeChild(pai)  
415 - i3geo_gl_crialink()  
416 -}  
417 -/*  
418 -Function: pegaElementoPai  
419 -  
420 -Pega o elemento pai de um elemento clicado para identificar o código do tema.  
421 -  
422 -Parameters:  
423 -  
424 -e - elemento do DOM.  
425 -*/  
426 -function pegaElementoPai(e)  
427 -{  
428 - var targ  
429 - if (!e) var e = window.event  
430 - if (e.target) targ = e.target  
431 - else if (e.srcElement) targ = e.srcElement  
432 - if (targ.nodeType == 3) // defeat Safari bug  
433 - targ = targ.parentNode  
434 - var tname  
435 - tparent=targ.parentNode  
436 - return(tparent)  
437 -}  
438 -/*  
439 -Function: i3geo_gl_init  
440 -  
441 -Inicialliza o OpenLayers para permitir ao usuário escolher a abrangência espacial do link.  
442 -*/  
443 -function i3geo_gl_init()  
444 -{  
445 - $i("mapa1").style.display = "block";  
446 - OL = new OpenLayers.Map('mapa1',{controls:[],numZoomLevels: 13});  
447 - //  
448 - //layers  
449 - //  
450 - var ol_wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://labs.metacarta.com/wms/vmap0",{layers: 'basic'},{isBaseLayer: true} );  
451 - ol_wms.setVisibility(true);  
452 - OL.addLayer(ol_wms);  
453 - var jpl_wms = new OpenLayers.Layer.WMS( "NASA Global Mosaic","http://wms.jpl.nasa.gov/wms.cgi", {layers: "global_mosaic"},{isBaseLayer: false});  
454 - jpl_wms.setVisibility(false);  
455 - OL.addLayer(jpl_wms);  
456 - var base = new OpenLayers.Layer.WMS( "Cartografia", "http://mapas.mma.gov.br/cgi-bin/mapserv?map=/opt/www/html/webservices/baseraster.map&",{layers:'baseraster',transparent:'true',format:'image/png'},{isBaseLayer:false});  
457 - base.setVisibility(false);  
458 - OL.addLayer(base);  
459 - //  
460 - //zoom e controle de layers  
461 - //  
462 - var ls = new OpenLayers.Control.LayerSwitcher()  
463 - OL.addControl(ls);  
464 - $i(ls.id).style.zIndex=2000;  
465 - OL.setCenter(new OpenLayers.LonLat(-55,-14), 2);  
466 - var panel = new OpenLayers.Control.NavToolbar();  
467 - OL.addControl(panel);  
468 - panel.div.style.left="-4px";  
469 - panel.div.style.top="-298px";  
470 - var zb = new OpenLayers.Control.PanZoomBar();  
471 - OL.addControl(zb);  
472 - $i("OpenLayers_Control_PanZoom_pandown").style.display="none"  
473 - $i("OpenLayers_Control_PanZoom_panup").style.display="none"  
474 - $i("OpenLayers_Control_PanZoom_panleft").style.display="none"  
475 - $i("OpenLayers_Control_PanZoom_panright").style.display="none"  
476 - zb.div.style.left="-8px"  
477 -}  
478 -/*  
479 -Function: capturageo 120 +File: i3geo/geradordelinks.htm
480 121
481 -Pega as coordenadas geográficas da extensão definida no OpenLayers.  
482 */ 122 */
483 -function capturageo()  
484 -{  
485 - var b = OL.getExtent();  
486 - $i("xmin").value = b.left  
487 - $i("xmax").value = b.right  
488 - $i("ymin").value = b.bottom  
489 - $i("ymax").value = b.top  
490 - i3geo_gl_crialink()  
491 -} 123 +var g_locaplic = "http://"+window.location.host+"/i3geo";
  124 +var i3geo_gl_configura = new i3geo_gl_configura(
  125 + "http://localhost/i3geo",
  126 + "estadosl",
  127 + "temasa",
  128 + "link",
  129 + "grupos",
  130 + "subgrupos",
  131 + "temas",
  132 + "buscageo"
  133 + )
  134 +i3geo_gl_inicia(i3geo_gl_configura)
492 </script> 135 </script>
493 </html> 136 </html>