Browse Source

Refator map filters totals for better performance

producao
Marcio Mazza 10 years ago
parent
commit
632c26ac23
  1. 38
      sigiStatic/js/metas/mapa.js

38
sigiStatic/js/metas/mapa.js

@ -43,9 +43,9 @@
icon: '/static/img/mapmarker.png' icon: '/static/img/mapmarker.png'
} }
var mark = new google.maps.Marker(markData); var mark = new google.maps.Marker(markData);
var iwcontent = '<strong>' + municipio.nome + '</strong><br/><br/>' + var iwcontent = '<strong>' + municipio.nome + '</strong><br/><br/>' +
municipio.info; municipio.info;
if (municipio.thumb != '') { if (municipio.thumb != '') {
iwcontent = iwcontent + '<br/><br/>' + iwcontent = iwcontent + '<br/><br/>' +
'<a href="' + municipio.foto + '" target="_blank">' + '<a href="' + municipio.foto + '" target="_blank">' +
@ -78,8 +78,6 @@
var estados = []; var estados = [];
var regioes = []; var regioes = [];
$(".totalizador").text("0");
for (var i in data) { for (var i in data) {
var name = data[i].name, value = data[i].value; var name = data[i].name, value = data[i].value;
if (name == 'estados') { if (name == 'estados') {
@ -91,6 +89,9 @@
} }
} }
var totalizadores = {}; // id => count
$(".totalizador").each(function(){ totalizadores[this.id] = 0; });
for (var i in municipiosArray) { for (var i in municipiosArray) {
var municipio = municipiosArray[i]; var municipio = municipiosArray[i];
municipio['infowindow'].close(); municipio['infowindow'].close();
@ -114,32 +115,24 @@
if (municipio.mapmark.map == null) { if (municipio.mapmark.map == null) {
municipio.mapmark.setMap(map); municipio.mapmark.setMap(map);
} }
var qtde = $("#" + municipio.regiao + ".totalizador").text(); totalizadores[municipio.regiao]++;
qtde = parseInt(qtde); totalizadores[municipio.estado]++;
qtde++;
$("#" + municipio.regiao + ".totalizador").text(qtde);
qtde = parseInt($("#" + municipio.estado + ".totalizador").text()); // TODO os prefixos dos ids dependem do codigo de
$("#" + municipio.estado + ".totalizador").text(++qtde); // sigi/apps/metas/views.py:65 ... def mapa(...)
// => tentar tirar essa dependencia ou sinmplificar
for (var j in municipio.seit) { for (var j in municipio.seit) {
qtde = parseInt($("#" + municipio.seit[j] + ".totalizador").text()); totalizadores[municipio.seit[j]]++
$("#" + municipio.seit[j] + ".totalizador").text(++qtde);
} }
for (var j in municipio.convenios) { for (var j in municipio.convenios) {
qtde = parseInt($("#convenio_" + municipio.convenios[j] + ".totalizador").text()); totalizadores["convenio_" + municipio.convenios[j]]++
$("#convenio_" + municipio.convenios[j] + ".totalizador").text(++qtde);
} }
for (var j in municipio.equipadas) { for (var j in municipio.equipadas) {
qtde = parseInt($("#equip_" + municipio.equipadas[j] + ".totalizador").text()); totalizadores["equip_" + municipio.equipadas[j]]++
$("#equip_" + municipio.equipadas[j] + ".totalizador").text(++qtde);
} }
for (var j in municipio.diagnosticos) { for (var j in municipio.diagnosticos) {
qtde = parseInt($("#diagnostico_" + municipio.diagnosticos[j] + ".totalizador").text()); totalizadores["diagnostico_" + municipio.diagnosticos[j]]++
$("#diagnostico_" + municipio.diagnosticos[j] + ".totalizador").text(++qtde);
} }
} else { } else {
if (municipio.mapmark.map != null) { if (municipio.mapmark.map != null) {
@ -147,6 +140,9 @@
} }
} }
} }
for (var id in totalizadores){
$("#" + id).text(totalizadores[id]);
}
} }
function search(event) { function search(event) {

Loading…
Cancel
Save