Commit 651c6fca7aabd9ed821ad8a733ac75597b5e1e66
1 parent
4d672d91
Exists in
master
and in
7 other branches
Adaptação da ferramenta geolocal para uso com Bootstrap
Showing
59 changed files
with
96 additions
and
77 deletions
Show diff stats
ferramentas/geolocal/index.js
... | ... | @@ -47,6 +47,7 @@ i3GEOF.geolocal = |
47 | 47 | * Objetos capturados |
48 | 48 | */ |
49 | 49 | posicoes : [], |
50 | + contador : 0, | |
50 | 51 | tempo : null, |
51 | 52 | /* |
52 | 53 | * Variavel: aguarde |
... | ... | @@ -58,6 +59,7 @@ i3GEOF.geolocal = |
58 | 59 | * Template no formato mustache. E preenchido na carga do javascript com o programa dependencias.php |
59 | 60 | */ |
60 | 61 | MUSTACHE : "", |
62 | + MUSTACHELISTA : "", | |
61 | 63 | /** |
62 | 64 | * Susbtitutos para o template |
63 | 65 | */ |
... | ... | @@ -77,29 +79,23 @@ i3GEOF.geolocal = |
77 | 79 | */ |
78 | 80 | inicia : function(iddiv) { |
79 | 81 | if(i3GEOF.geolocal.MUSTACHE == ""){ |
80 | - $.get(i3GEO.configura.locaplic + "/ferramentas/geolocal/template_mst.html", function(template) { | |
81 | - i3GEOF.geolocal.MUSTACHE = template; | |
82 | + var t1 = i3GEO.configura.locaplic + "/ferramentas/geolocal/template_mst.html", | |
83 | + t2 = i3GEO.configura.locaplic + "/ferramentas/geolocal/template_lista_mst.html"; | |
84 | + | |
85 | + $.when( $.get(t1),$.get(t2) ).done(function(r1,r2) { | |
86 | + i3GEOF.geolocal.MUSTACHE = r1[0]; | |
87 | + i3GEOF.geolocal.MUSTACHELISTA = r2[0]; | |
82 | 88 | i3GEOF.geolocal.inicia(iddiv); |
89 | + }).fail(function() { | |
90 | + i3GEO.janela.closeMsg($trad("erroTpl")); | |
91 | + return; | |
83 | 92 | }); |
84 | 93 | return; |
85 | 94 | } |
86 | - var ics, n, i; | |
87 | 95 | // se nao permitir a localizacao, retorna uma mensagem |
88 | 96 | if (navigator.geolocation) { |
89 | 97 | $i(iddiv).innerHTML = i3GEOF.geolocal.html(); |
90 | 98 | $i("i3GEOFgeolocalFormTempo").onsubmit = i3GEOF.geolocal.capturaTempo; |
91 | - ics = $i(iddiv).getElementsByTagName("button"); | |
92 | - n = ics.length; | |
93 | - for (i = 0; i < n; i++) { | |
94 | - ics[i].style.backgroundColor = "white"; | |
95 | - ics[i].className = "iconeGuiaMovel iconeGuiaMovelMouseOut"; | |
96 | - ics[i].onmouseout = function() { | |
97 | - this.className = "iconeGuiaMovel iconeGuiaMovelMouseOut"; | |
98 | - }; | |
99 | - ics[i].onmouseover = function() { | |
100 | - this.className = "iconeGuiaMovel iconeGuiaMovelMouseOver"; | |
101 | - }; | |
102 | - } | |
103 | 99 | i3GEOF.geolocal.capturaCoordenada(); |
104 | 100 | } else { |
105 | 101 | $i(iddiv).innerHTML = $trad('msgNavegador', i3GEOF.geolocal.dicionario); |
... | ... | @@ -136,7 +132,7 @@ i3GEOF.geolocal = |
136 | 132 | // cria a janela flutuante |
137 | 133 | titulo = "<span class='i3GeoTituloJanelaBsNolink' >" + $trad('localizaUsuario',i3GEOF.geolocal.dicionario) + "</span></div>"; |
138 | 134 | janela = i3GEO.janela.cria( |
139 | - "310", | |
135 | + "410", | |
140 | 136 | "230", |
141 | 137 | "", |
142 | 138 | "", |
... | ... | @@ -182,12 +178,14 @@ i3GEOF.geolocal = |
182 | 178 | } |
183 | 179 | i3GEOF.geolocal.aguarde.visibility = "visible"; |
184 | 180 | var retorno = function(position) { |
185 | - i3GEOF.geolocal.posicoes.push(position); | |
181 | + position.id = i3GEOF.geolocal.contador; | |
182 | + i3GEOF.geolocal.posicoes[i3GEOF.geolocal.contador] = position; | |
183 | + i3GEOF.geolocal.contador = i3GEOF.geolocal.contador + 1; | |
186 | 184 | var n = parseInt($i("i3GEOFgeolocalMaximo").value, 10); |
187 | 185 | if (n > 0 && i3GEOF.geolocal.posicoes.length > n) { |
188 | 186 | i3GEOF.geolocal.posicoes.splice(0, (i3GEOF.geolocal.posicoes.length - n)); |
189 | 187 | } |
190 | - i3GEOF.geolocal.listaCoord(); | |
188 | + i3GEOF.geolocal.listaCoord(position); | |
191 | 189 | }; |
192 | 190 | navigator.geolocation.getCurrentPosition(retorno, i3GEOF.geolocal.erro); |
193 | 191 | }, |
... | ... | @@ -229,38 +227,25 @@ i3GEOF.geolocal = |
229 | 227 | i3GEOF.geolocal.aguarde.visibility = "hidden"; |
230 | 228 | }, |
231 | 229 | listaCoord : function(position) { |
232 | - var ps = i3GEOF.geolocal.posicoes, n = ps.length, i, ins = "", res = [ | |
233 | - "<tr><td></td><td></td><td></td><td><b>Latitude</b></td><td><b>Longitude</b></td></tr>" | |
234 | - ]; | |
235 | - for (i = (n - 1); i >= 0; i--) { | |
236 | - ins = | |
237 | - "<tr>" + '<td><img title="' + $trad('limpa', i3GEOF.geolocal.dicionario) | |
238 | - + '" src="' | |
239 | - + i3GEO.configura.locaplic | |
240 | - + '/imagens/x.gif" onclick="i3GEOF.geolocal.excluiLinha(' | |
241 | - + i | |
242 | - + ')" style="cursor:pointer"></td>' | |
243 | - + '<td><img onmouseout="i3GEOF.geolocal.escondexy()" onmouseover="i3GEOF.geolocal.mostraxy(' | |
244 | - + i | |
245 | - + ')" title="pan" src="' | |
246 | - + i3GEO.configura.locaplic | |
247 | - + '/imagens/o.gif" onclick="i3GEOF.geolocal.panLinha(' | |
248 | - + i | |
249 | - + ')" style="cursor:pointer"></td>' | |
250 | - + '<td><img title="info" src="' | |
251 | - + i3GEO.configura.locaplic | |
252 | - + '/imagens/oxygen/16x16/help-about.png" onclick="i3GEOF.geolocal.info(' | |
253 | - + i | |
254 | - + ')" style="cursor:pointer"></td>' | |
255 | - + "<td>" | |
256 | - + ps[i].coords.latitude | |
257 | - + "</td><td>" | |
258 | - + ps[i].coords.longitude | |
259 | - + "</td></tr>"; | |
260 | - res.push(ins); | |
261 | - } | |
262 | - $i("i3GEOFgeolocalListaDePontos").innerHTML = "<table class='lista8' >" + res.join("") + "</table>"; | |
263 | - $i("i3GEOFgeolocalNcoord").innerHTML = n; | |
230 | + var ps = i3GEOF.geolocal.posicoes; | |
231 | + var dados = { | |
232 | + "limpa": $trad('limpa', i3GEOF.geolocal.dicionario), | |
233 | + "locaplic": i3GEO.configura.locaplic, | |
234 | + "longitude": position.coords.longitude, | |
235 | + "latitude": position.coords.latitude, | |
236 | + "id": position.id | |
237 | + }; | |
238 | + var ntr = document.createElement("tr"); | |
239 | + ntr.id = "linhaGeolocal"+position.id; | |
240 | + var temp = Mustache.render( | |
241 | + "{{#data}}" + i3GEOF.geolocal.MUSTACHELISTA + "{{/data}}", | |
242 | + {"data":dados} | |
243 | + ); | |
244 | + $(ntr).html(temp); | |
245 | + var tabela = $i("i3GEOFgeolocalListaDePontos"); | |
246 | + tabela.appendChild(ntr); | |
247 | + $i("i3GEOFgeolocalNcoord").innerHTML = ps.length; | |
248 | + | |
264 | 249 | if (i3GEO.Interface["ATUAL"] === "openlayers") { |
265 | 250 | if (typeof OpenLayers.Control == "undefined") { |
266 | 251 | api = "ol3"; |
... | ... | @@ -285,11 +270,15 @@ i3GEOF.geolocal = |
285 | 270 | api = i3GEO.Interface["ATUAL"]; |
286 | 271 | } |
287 | 272 | i3GEOF.geolocal[api].removeLayer(); |
288 | - i3GEOF.geolocal.listaCoord(); | |
273 | + var tabela = $i("i3GEOFgeolocalListaDePontos"); | |
274 | + var cabecalho = tabela.getElementsByTagName("tr"); | |
275 | + tabela.innerHtml = ""; | |
276 | + tabela.appendChild(cabecalho); | |
289 | 277 | }, |
290 | 278 | excluiLinha : function(i) { |
291 | - i3GEOF.geolocal.posicoes.splice(i, 1); | |
292 | - i3GEOF.geolocal.listaCoord(); | |
279 | + i3GEOF.geolocal.posicoes[i] = ""; | |
280 | + var linha = $i("linhaGeolocal"+i); | |
281 | + linha.parentNode.removeChild(linha); | |
293 | 282 | }, |
294 | 283 | panLinha : function(i) { |
295 | 284 | var posicao = i3GEOF.geolocal.posicoes[i]; | ... | ... |
... | ... | @@ -0,0 +1,18 @@ |
1 | +<td> | |
2 | + <button onclick='i3GEOF.geolocal.excluiLinha(' {{{id}}}')' class="btn btn-xs" style="margin: 2px; padding: 2px;"> | |
3 | + <span class="material-icons">clear</span> | |
4 | + </button> | |
5 | +</td> | |
6 | +<td> | |
7 | + <button onclick="i3GEOF.geolocal.panLinha('{{{id}}}')" onmouseout="i3GEOF.geolocal.escondexy()" onmouseover="i3GEOF.geolocal.mostraxy('{{{id}}}')" title="pan" class="btn btn-xs" | |
8 | + style="margin: 2px; padding: 2px;"> | |
9 | + <span class="material-icons">gps_fixed</span> | |
10 | + </button> | |
11 | +</td> | |
12 | +<td> | |
13 | + <button onclick="i3GEOF.geolocal.info('{{{id}}}')" class="btn btn-xs" style="margin: 2px; padding: 2px;"> | |
14 | + <span class="material-icons">info</span> | |
15 | + </button> | |
16 | +</td> | |
17 | +<td>{{{latitude}}}</td> | |
18 | +<td>{{{longitude}}}</td> | ... | ... |
ferramentas/geolocal/template_mst.html
1 | -<button title='{{{capturaCoord}}}' onclick='i3GEOF.geolocal.capturaCoordenada()'> | |
2 | - <img src='{{{locaplic}}}/imagens/gisicons/gps.png' /> | |
3 | -</button> | |
4 | -<button title='{{{limpa}}}' onclick='i3GEOF.geolocal.limpa()'> | |
5 | - <img src='{{{locaplic}}}/imagens/gisicons/erase.png' /> | |
6 | -</button> | |
7 | -<button title='{{{shp}}}' onclick='i3GEOF.geolocal.criaShp()'> | |
8 | - <img src='{{{locaplic}}}/imagens/gisicons/layer-gps-create.png' /> | |
9 | -</button> | |
10 | -<img title='{{{paraCaptura}}}' onclick='i3GEOF.geolocal.paraTempo()' style='top: -3px; left: 10px; position: relative;' src='{{{locaplic}}}/imagens/oxygen/16x16/clock.png'> | |
11 | - | |
12 | -<form id='i3GEOFgeolocalFormTempo' style='left: 162px; position: absolute; top: 10px; width: 30px;'> | |
13 | - <div class='i3geoForm100 i3geoFormIconeNumero' > | |
14 | - <input type='number' id='i3GEOFgeolocalTempo' title={{{intervalo}}} value='0' /> | |
1 | +<div class='container-fluid'> | |
2 | + <button onclick="i3GEOF.geolocal.capturaCoordenada()" class='btn btn-primary btn-sm btn-raised'>{{{capturaCoord}}}</button> | |
3 | + <table id='i3GEOFgeolocalListaDePontos'> | |
4 | + <tr> | |
5 | + <td></td> | |
6 | + <td></td> | |
7 | + <td></td> | |
8 | + <td>Latitude</td> | |
9 | + <td>Longitude</td> | |
10 | + </tr> | |
11 | + </table> | |
12 | + <button onclick="$('#i3GEOFgeolocalExpande').collapse('toggle')" role="button" class="btn btn-default btn-xs"> | |
13 | + <span class="text-primary readMore"> | |
14 | + <i class="material-icons">keyboard_arrow_down</i> | |
15 | + </span> | |
16 | + <span class="text-primary readLess"> | |
17 | + <i class="material-icons">keyboard_arrow_up</i> | |
18 | + </span> | |
19 | + </button> | |
20 | + <div id="i3GEOFgeolocalExpande" class="collapse"> | |
21 | + <button onclick="i3GEOF.geolocal.limpa()" class='btn btn-primary btn-sm btn-raised'>{{{limpa}}}</button> | |
22 | + <button onclick="i3GEOF.geolocal.paraTempo()" class='btn btn-primary btn-sm btn-raised'>{{{paraCaptura}}}</button> | |
23 | + <button onclick="i3GEOF.geolocal.criaShp()" class='btn btn-primary btn-sm btn-raised'>{{{shp}}}</button> | |
24 | + <form id='i3GEOFgeolocalFormTempo'> | |
25 | + <div class='form-group label-fixed condensed'> | |
26 | + <label class="control-label" for="{{{idjanela}}}i3GEOtabelaexcestat">{{{intervalo}}}</label> | |
27 | + <input class="form-control input-lg" type='text' id='i3GEOFgeolocalTempo' value='0' /> | |
28 | + </div> | |
29 | + </form> | |
30 | + <div class='form-group label-fixed condensed'> | |
31 | + <label class="control-label" for="">{{{maximoPontos}}}</label> | |
32 | + <input class="form-control input-lg" type='text' id='i3GEOFgeolocalMaximo' value='' /> | |
33 | + </div> | |
34 | + <h5 id='i3GEOFgeolocalNcoord' class="alert alert-info"></h5> | |
15 | 35 | </div> |
16 | -</form> | |
17 | -<div style='height: 130px; overflow: auto; top: 10px; text-align: center; position: relative; cursor: pointer; padding: 5px;' id='i3GEOFgeolocalListaDePontos'></div> | |
18 | -<br> | |
19 | -<div id='i3GEOFgeolocalNcoord' style='width: 30px; position: absolute;'></div> | |
20 | -<br> | |
21 | -<p class='paragrafo' style='float: left; margin-right: 5px; top: 3px; position: relative;'>{{{maximoPontos}}} | |
22 | -<div class='i3geoForm100 i3geoFormIconeNumero' style='position: relative; margin-left: 5px;'> | |
23 | - <input type='number' id='i3GEOFgeolocalMaximo' value='' /> | |
24 | 36 | </div> |
25 | 37 | \ No newline at end of file | ... | ... |
ferramentas/tabela/templateLista_mst.html
... | ... | @@ -3,7 +3,7 @@ |
3 | 3 | {{#cabecalho}} |
4 | 4 | <td accessKey="{{idcoluna}}" > |
5 | 5 | <button title="{{{t12}}}" onclick='i3GEOF.tabela.excluiColuna(this,"{{idcoluna}}","{{idjanela}}")' class="{{classe}} btn btn-xs" style="margin: 2px; padding: 2px;"> |
6 | - <span class="material-icons">delete</span> | |
6 | + <span class="material-icons">clear</span> | |
7 | 7 | </button> |
8 | 8 | <button title="{{{ordena}}}" onclick='i3GEOF.tabela.ordenaColuna(this,"{{idcoluna}}","{{idjanela}}")' class="{{classe}} btn btn-xs" style="margin: 2px; padding: 2px;"> |
9 | 9 | <span class="material-icons">sort</span> |
... | ... | @@ -16,7 +16,7 @@ |
16 | 16 | <tr> |
17 | 17 | <td> |
18 | 18 | <button onclick='i3GEOF.tabela.excluiLinha(this,"{{idjanela}}")' class="btn btn-xs" style="margin: 2px; padding: 2px;"> |
19 | - <span class="material-icons">delete</span> | |
19 | + <span class="material-icons">clear</span> | |
20 | 20 | </button> |
21 | 21 | </td> |
22 | 22 | <td> | ... | ... |
pacotes/yui290/build/container/container_compacto.js
100644 → 100755
pacotes/yui290/build/container/container_core_compacto.js
100644 → 100755
pacotes/yui290/build/utilities/utilities_compacto.js
100644 → 100755