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