Commit d3a2030f by Esteban Ramirez Mora

Actualizaciones

parent a8c3f712
...@@ -245,7 +245,7 @@ ...@@ -245,7 +245,7 @@
<div class="btn_nav_continer"> <div class="btn_nav_continer">
<button id="specie_before" class="btn btn-primary glyphicon glyphicon-chevron-up" type="button" ></button> <button id="specie_before" class="btn btn-primary glyphicon glyphicon-chevron-up" type="button" ></button>
<button id="specie_next" class="btn btn-primary glyphicon glyphicon-chevron-down" type="button" ></button> <button id="specie_next" class="btn btn-primary glyphicon glyphicon-chevron-down" type="button" ></button>
...@@ -292,6 +292,41 @@ ...@@ -292,6 +292,41 @@
</div> </div>
<div id="tuto_agent" class="col-md-6 col-sm-12 col-xs-12">
<div class="form-group">
<label class = "text-sm" id="agent">Agente:</label>
<select id = "agent_selected" class="form-control">
<option value="model_default" selected disabled>Selecione un agente</option>
<option value="Patogenos">Patógeno</option>
<option value="Hospederos">Hospedero</option>
<option value="Vectores">Vector</option>
</select>
</div>
</div>
<div id="tuto_disease" class="col-md-6 col-sm-12 col-xs-12">
<div class="form-group" >
<label class = "text-sm" id="disease">Enfermedad:</label>
<select id = "disease_selected" class="form-control">
<option value = dis_default" selected disabled> Seleccione Enfermedad</option>
<option value ="todas">Sin enfermedad</option>
<!--<option value="Enfermedad de Chagas">Enfermedad de Chagas</option>
<option value="Fiebre de Zika"> Fiebre de Zika</option>
<option value="Fiebre de Dengue">Fiebre de Dengue</option>
<option value="Fiebre Chikunguña"> Fiebre Chikinguña</option>
<option value="Hantavirosis"> Hantavirosis</option>
<option value="Fiebre del Nilo"> Fiebre del Nilo</option>
<option value="Enfermedad de Lyme"> Enfermedad de Lyme </option>
<option value="Fiebre del Nilo"> Fiebre del Nilo</option>
<option value="Leptospirosis"> Leptospirosis</option>
<option value="Leishmaniasis"> Leishmaniasis</option>-->
</select>
</div>
</div>
</div> </div>
<!-- container de 40% seteado en componete --> <!-- container de 40% seteado en componete -->
...@@ -536,8 +571,8 @@ ...@@ -536,8 +571,8 @@
<div class="col-md-5 margin-top-five pull-left "> <div class="col-md-5 margin-top-five pull-left ">
<label class="label_item " id="labelValidationTemp" type="label"></label> <label class="label_item " id="labelValidationTemp" type="label"></label>
<input id="chkValidationTemp" class="checkbox_item " type="checkbox"/> <input id="chkValidationTemp" class="checkbox_item " type="checkbox"/>
</div> </div>
</div> </div>
<!-- <div class="row"> --> <!-- <div class="row"> -->
...@@ -553,11 +588,11 @@ ...@@ -553,11 +588,11 @@
Fin: Fin:
<input id="date_timepicker_end_val" type="text" value="" style="width: 100px;" disabled="true"> <input id="date_timepicker_end_val" type="text" value="" style="width: 100px;" disabled="true">
</div> </div>
</div> </div>
<!-- </div> --> <!-- </div> -->
</div> </div>
...@@ -582,11 +617,11 @@ ...@@ -582,11 +617,11 @@
<div class="col-md-5 margin-top-five pull-left "> <div class="col-md-5 margin-top-five pull-left ">
<label class="label_item " id="labelValidation" type="label"></label> <label class="label_item " id="labelValidation" type="label"></label>
<input id="chkValidation" class="checkbox_item " type="checkbox"/> <input id="chkValidation" class="checkbox_item " type="checkbox"/>
</div> </div>
</div> </div>
</div> </div>
...@@ -616,9 +651,9 @@ ...@@ -616,9 +651,9 @@
<input id="chkMinOcc" class="checkbox_item pull-left" type="checkbox" checked="true"/> <input id="chkMinOcc" class="checkbox_item pull-left" type="checkbox" checked="true"/>
<input id="occ_number" class="occ_number " type="number" min="1" value="1"> <input id="occ_number" class="occ_number " type="number" min="1" value="1">
</div> </div>
</div> </div>
</div> </div>
...@@ -647,13 +682,13 @@ ...@@ -647,13 +682,13 @@
<input id="chkApriori" class="checkbox_item pull-left" type="checkbox" /> <input id="chkApriori" class="checkbox_item pull-left" type="checkbox" />
</div>
</div> </div>
</div>
</div> </div>
<div id="tuto_map_prob" class="row container_15p"> <div id="tuto_map_prob" class="row container_15p">
...@@ -679,11 +714,11 @@ ...@@ -679,11 +714,11 @@
<label class="label_item pull-left" id="lb_mapa_prob" type="label"></label> <label class="label_item pull-left" id="lb_mapa_prob" type="label"></label>
<input id="chkMapaProb" class="checkbox_item pull-left" type="checkbox" /> <input id="chkMapaProb" class="checkbox_item pull-left" type="checkbox" />
</div>
</div> </div>
</div>
</div> </div>
<!-- </div> --> <!-- </div> -->
......
...@@ -66,8 +66,8 @@ ...@@ -66,8 +66,8 @@
</header> </header>
<section id="content"> <section id="content">
<h2>Bienvenido a EPI-SPECIES<span>Plataforma Universitaria de Eco-epidemiologia Espacial</span></h2> <h2>Bienvenido a EpI-SPECIES<span>Plataforma Universitaria de Eco-epidemiología Espacial</span></h2>
<p>EPI-SPECIES es una herramienta interactiva para el análisis del nicho epidemiológico de enfermedades infecciosas y la creación de modelos predictivos para analizar su dinámica espacio-temporal en México.</p> <p>EpI-SPECIES es una herramienta interactiva para el análisis del nicho epidemiológico de enfermedades infecciosas y la creación de modelos predictivos para analizar su dinámica espacio-temporal en México.</p>
<h3>Análisis de nicho epidemiológico</h3> <h3>Análisis de nicho epidemiológico</h3>
<p>Si deseas realizar un análisis de nicho epidemiológico basta con seguir los siguientes pasos:</p> <p>Si deseas realizar un análisis de nicho epidemiológico basta con seguir los siguientes pasos:</p>
<ul class="steps"> <ul class="steps">
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
<li>Analiza tus resultados</li> <li>Analiza tus resultados</li>
<li><a class="button-1" href="https://epispecies.c3.unam.mx/geoportal_v0.1.html">Ir a Análisis de Nicho</a></li> <li><a class="button-1" href="https://epispecies.c3.unam.mx/geoportal_v0.1.html">Ir a Análisis de Nicho</a></li>
</ul> </ul>
<p>Si es la primera vez que utilizas la plataforma, te recomendamos dar clic en el botón de <b>Casos de uso</b> o el botón de <b>Tutorial</b> que te orientara paso a paso como utilizar EPI-SPECIES</p> <p>Si es la primera vez que utilizas la plataforma, te recomendamos dar clic en el botón de <b>Casos de uso</b> o el botón de <b>Tutorial</b> que te orientara paso a paso como utilizar EpI-SPECIES</p>
</section> </section>
<footer> <footer>
<p class="copyright">©Todos los derechos reservados Chilam · C3 · UNAM - 2021.</p> <p class="copyright">©Todos los derechos reservados Chilam · C3 · UNAM - 2021.</p>
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
<article> <article>
<pre class="prettyprint source linenums"><code> <pre class="prettyprint source linenums"><code>
/** /**
* Módulo variable, utilizado para crear y gestionar los selectores de grupos de variables en nicho ecológico y comunidad ecológica. * Módulo variable, utilizado para crear y gos sestionar lelectores de grupos de variables en nicho ecológico y comunidad ecológica.
* *
* @namespace variable_module * @namespace variable_module
*/ */
......
...@@ -692,148 +692,189 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) { ...@@ -692,148 +692,189 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) {
_REGION_SELECTED = region_selected; _REGION_SELECTED = region_selected;
$.ajax({
url: _url_zacatuche + "/niche/especie/getGridGeoJson",
type: 'post',
dataType: "json",
data: {
"grid_res": grid_res,
"footprint_region": _REGION_SELECTED
},
success: function (json) {
console.log(json);
// Asegura que el grid este cargado antes de realizar una generacion por enlace let query = 'query{get_mesh(grid_res: "' + _grid_res + '"){cve simplified_geom}}'
$("#loadData").prop("disabled", false); console.log(query)
$('#map').loading('stop');
$('#map2').loading('stop');
$('#tuto_mapa_occ').loading('stop'); $.ajax({
method: "POST",
url : "http://10.90.0.42:4003/graphql/mesh/",
contentType: "application/json",
data: JSON.stringify({query: query}),
success: function (resp) {
let data = resp["data"];
let obj = data["get_mesh"]
let json = {type: 'FeatureCollection',crs: {}, features: []}
console.log(obj)
for (let i = 0; i < obj.length; i++)
{let prop = new Object();
let geom = new Object();
geom = Object.assign({},obj[i].simplified_geom)
prop = parseInt(obj[i].cve)
let prope = new Object();
prope.gridid =prop
let type = new Object();
type.type = "feature"
type.geometry = geom
type.properties = prope
json.features.push(type)
json.crs = {
"type": "name",
"properties": {
"name": "urn:ogc:def:crs:EPSG::4326"
}
}
}
_grid_map = json;
_grid_res = grid_res;
_first_loaded = true;
_pad = 0; //console.log(json[1].geometry)
colorizeFeatures([], _grid_map, _tileLayer);
_tileIndex = geojsonvt(_grid_map, _tileOptions);
_tileLayer.redraw();
console.log(json)
// obj["features"].push( json["geometry"])
if (_tipo_modulo === _MODULO_NICHO) {
_grid_map_occ = jQuery.extend(true, {}, json) // se genera un clon del gridmap
_grid_map_target = jQuery.extend(true, {}, json) // se genera un clon del gridmap
_grid_map_decil = jQuery.extend(true, {}, json) // se genera un clon del gridmap
_grid_map_state_mun = jQuery.extend(true, {}, json) // se genera un clon del gridmap
// console.log(_grid_map_occ); // console.log(features)
// console.log(_grid_map_target); // Asegura que el grid este cargado antes de realizar una generacion por enlace
$("#loadData").prop("disabled", false);
$('#map').loading('stop');
$('#map2').loading('stop');
$('#tuto_mapa_occ').loading('stop');
_grid_map = json;
colorizeDecileFeatures(_grid_map_decil, _tileDecilLayer); _grid_res = grid_res;
_tileIndexDecil = geojsonvt(_grid_map_decil, _tileOptions); _first_loaded = true;
_tileDecilLayer.redraw();
colorizeTargetFeatures(_grid_map_target, _tileLayerSpecies); _pad = 0;
_tileIndexSpecies = geojsonvt(_grid_map_target, _tileOptions); colorizeFeatures([], _grid_map, _tileLayer);
_tileLayerSpecies.redraw(); _tileIndex = geojsonvt(_grid_map, _tileOptions);
_tileLayer.redraw();
colorizeFeatures([], _grid_map_occ, _tileLayerSP);
_tileIndexSP = geojsonvt(_grid_map_occ, _tileOptions);
_tileLayerSP.redraw();
if (_tipo_modulo === _MODULO_NICHO) {
colorizeFeaturesSelectedStateMun([], _grid_map_state_mun, _tileLayerStateMun); _grid_map_occ = jQuery.extend(true, {}, json) // se genera un clon del gridmap
_tileIndexStateMun = geojsonvt(_grid_map_state_mun, _tileOptions); _grid_map_target = jQuery.extend(true, {}, json) // se genera un clon del gridmap
_tileLayerStateMun.redraw(); _grid_map_decil = jQuery.extend(true, {}, json) // se genera un clon del gridmap
_grid_map_state_mun = jQuery.extend(true, {}, json) // se genera un clon del gridmap
console.log(_grid_map_occ);
console.log(_grid_map_target);
}
_first_loaded = false;
colorizeDecileFeatures(_grid_map_decil, _tileDecilLayer);
_tileIndexDecil = geojsonvt(_grid_map_decil, _tileOptions);
_tileDecilLayer.redraw();
// agrega listener para generar pop en celda colorizeTargetFeatures(_grid_map_target, _tileLayerSpecies);
map.on('click', function (e) { _tileIndexSpecies = geojsonvt(_grid_map_target, _tileOptions);
_tileLayerSpecies.redraw();
console.log(e.latlng.lat + ", " + e.latlng.lng);
if (_tipo_modulo === _MODULO_NICHO) {
_display_module.showGetFeatureInfo(e.latlng.lat, e.latlng.lng, _taxones, _REGION_SELECTED);
}
}); colorizeFeatures([], _grid_map_occ, _tileLayerSP);
_tileIndexSP = geojsonvt(_grid_map_occ, _tileOptions);
_tileLayerSP.redraw();
if (_tipo_modulo === _MODULO_NICHO) {
map_sp.on('click', function (e) { colorizeFeaturesSelectedStateMun([], _grid_map_state_mun, _tileLayerStateMun);
_tileIndexStateMun = geojsonvt(_grid_map_state_mun, _tileOptions);
console.log(e.latlng.lat + ", " + e.latlng.lng); _tileLayerStateMun.redraw();
if (_tipo_modulo === _MODULO_NICHO) {
// verifica que ya este la malla cargada y que al menos exista un especie solcitada }
if(_grid_map_occ === undefined){
return
}
_first_loaded = false;
var rango_fechas = $("#sliderFecha").slider("values");
// console.log(rango_fechas)
if(_lin_inf === undefined)
_lin_inf = rango_fechas[0]
if(_lin_sup === undefined)
_lin_sup = rango_fechas[1]
// console.log("_lin_inf: " + _lin_inf) // agrega listener para generar pop en celda
// console.log("_lin_sup: " + _lin_sup) map.on('click', function (e) {
// console.log("_sin_fecha: " + _sin_fecha)
// console.log("_con_fosil: " + _con_fosil)
console.log(_taxones)
console.log("_DELETE_STATE_CELLS: " + _DELETE_STATE_CELLS)
_display_module.showGetFeatureInfoOccCell(e.latlng.lat, e.latlng.lng, _taxones, _lin_inf, _lin_sup, _sin_fecha, _con_fosil, _grid_res, _REGION_SELECTED, _DELETE_STATE_CELLS ); console.log(e.latlng.lat + ", " + e.latlng.lng);
}
}); if (_tipo_modulo === _MODULO_NICHO) {
_display_module.showGetFeatureInfo(e.latlng.lat, e.latlng.lng, _taxones, _REGION_SELECTED);
}
// metodo del módulo de NICHO para cargar las especies });
busca_especie_grupo(taxones, region_selected, val_process, grid_res)
} if (_tipo_modulo === _MODULO_NICHO) {
else{
map_sp.on('click', function (e) {
_display_module.callDisplayProcess(val_process) console.log(e.latlng.lat + ", " + e.latlng.lng);
if (_tipo_modulo === _MODULO_NICHO) {
} // verifica que ya este la malla cargada y que al menos exista un especie solcitada
if(_grid_map_occ === undefined){
return
}
}, var rango_fechas = $("#sliderFecha").slider("values");
error: function (requestObject, error, errorThrown) { // console.log(rango_fechas)
if(_lin_inf === undefined)
_lin_inf = rango_fechas[0]
if(_lin_sup === undefined)
_lin_sup = rango_fechas[1]
// console.log("_lin_inf: " + _lin_inf)
// console.log("_lin_sup: " + _lin_sup)
// console.log("_sin_fecha: " + _sin_fecha)
// console.log("_con_fosil: " + _con_fosil)
console.log(_taxones)
console.log("_DELETE_STATE_CELLS: " + _DELETE_STATE_CELLS)
_display_module.showGetFeatureInfoOccCell(e.latlng.lat, e.latlng.lng, _taxones, _lin_inf, _lin_sup, _sin_fecha, _con_fosil, _grid_res, _REGION_SELECTED, _DELETE_STATE_CELLS );
}
});
// metodo del módulo de NICHO para cargar las especies
busca_especie_grupo(taxones, region_selected, val_process, grid_res)
}
else{
_display_module.callDisplayProcess(val_process)
}
console.log(requestObject);
console.log(error); },
console.log(errorThrown); error: function (requestObject, error, errorThrown) {
// alert("Existe un error en la conexión con el servidor, intente mas tarde");
console.log(requestObject);
console.log(error);
console.log(errorThrown);
// alert("Existe un error en la conexión con el servidor, intente mas tarde");
// console.log("abort"); // console.log("abort");
$('#map').loading('stop'); $('#map').loading('stop');
$('#map2').loading('stop'); $('#map2').loading('stop');
} }
});
});
} }
...@@ -1049,6 +1090,7 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) { ...@@ -1049,6 +1090,7 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) {
if (_first_loaded) { if (_first_loaded) {
_VERBOSE ? console.log("first loaded") : _VERBOSE; _VERBOSE ? console.log("first loaded") : _VERBOSE;
console.log(grid_map)
for (var i = 0; i < grid_map.features.length; i++) { for (var i = 0; i < grid_map.features.length; i++) {
...@@ -2057,7 +2099,7 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) { ...@@ -2057,7 +2099,7 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) {
function busca_especie_grupo(taxones, region = 1, val_process = false, grid_res = "state", fuente = "nicho") { function busca_especie_grupo(taxones, region = 1, val_process = false, grid_res = "state", fuente = "nicho") {
_VERBOSE ? console.log("busca_especie_grupo") : _VERBOSE; _VERBOSE ? console.log("busca_especie_grupo") : _VERBOSE;
console.log("_grid_map_occ: " + _grid_map_occ) console.log("_grid_map_occ: " + _grid_map_occ)
console.log("_grid_res: " + _grid_res) console.log("_grid_res: " + _grid_res)
...@@ -2170,127 +2212,135 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) { ...@@ -2170,127 +2212,135 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) {
"region": region "region": region
} }
if (_AGENT_SELECTED == 'Hospederos')
var _url = 'http://10.90.0.42:4006/graphql/hospederos/'
else if (_AGENT_SELECTED == 'Patogenos')
var _url = "http://10.90.0.42:4007/graphql/patogenos/"
else
var _url = "http://10.90.0.42:4008/graphql/vectores/"
let nodo = _AGENT_SELECTED.toLowerCase()
fetch(_url_zacatuche + "/niche/especie/getGridSpeciesTaxon", { let query = 'query{occurrences_by_taxon_' + nodo + '(query: "nombreenfermedad = \''+ _DISEASE_SELECTED + '\' AND '+ _PARENT_FIELD.toLowerCase() +' = \'' + _LABEL_VALUE +'\' "){individuosinfectados gridid_'+ _grid_res + '}}'
console.log(query)
$.ajax({
method: "POST", method: "POST",
body: JSON.stringify(data), url: _url,
headers: { contentType: "application/json",
"Content-Type": "application/json" data: JSON.stringify({query: query}),
} success: function (resp) {
}) let mesh = "gridid_" + _grid_res
.then(resp => resp.json()) let data2 = resp.data["occurrences_by_taxon_" + nodo]
.then(resp => { //let data = resp["data"];
//let obj = data["get_mesh"]
console.log(data2)
let gridid = {gridid: []}
for (let i = 0; i < data2.length; i++) {
let mesh = "gridid_" + _grid_res
gridid.gridid.push(parseInt(data2[i][mesh]))
}
console.log(gridid)
$('#tuto_mapa_occ').loading('stop'); function onlyUnique(value, index, self) {
return self.indexOf(value) === index;
}
// inicializa variables para eliminar celdas
_DELETE_STATE_CELLS = false;
_excludedcells = []
$("#deletePointsButton").css("backgroundColor", "#fff");
var a = gridid["gridid"];
var unique = a.filter(onlyUnique);
//console.log(unique)
//console.log(a)
let vec = []
_data_sp_occ = resp.data for (let i = 0; i < unique.length; i++) {
// asigna una referencia global para tener el resultado de la útima petición let value = unique[i]
// _data_sp_occ = data_sp let arr = []
for (let j = 0; j < data2.length; j++)
if (data2[j][mesh] == value) {
arr.push(data2[j])
//console.log(arr)
}
var occurrences = arr.reduce(function (prev, cur) {
return prev + cur.individuosinfectados;
}, 0);
var num_cell_occ = resp.data.length //console.log('Total:', occurrences);
var num_occ = 0 let aux = new Object();
aux.gridid = value
aux.fp = 0
aux.tp = 0
aux.occ = occurrences
aux.target = "true"
aux.tp = 0
_data_sp_occ.forEach(function(item){ vec.push(aux)
num_occ += parseInt(item["occ"])
})
console.log(_data_sp_occ)
console.log("num_cell_occ: " + num_cell_occ)
console.log("num_occ: " + num_occ)
// rellena cuadro de resumen
_fillSpeciesData(num_occ, num_cell_occ);
}
// manda mensaje cuando no hay registro de especies en celdas
if (num_cell_occ === 0) {
_VERBOSE ? console.log("No hay registros de especie") : _VERBOSE;
_toastr.info($.i18n.prop('lb_norecords'));
return;
}
$('#tuto_mapa_occ').loading('stop');
// Se activa boton de siguiente paso
$("#specie_next").css('visibility', 'visible');
$("#specie_next").show("slow");
// inicializa variables para eliminar celdas
_DELETE_STATE_CELLS = false;
_excludedcells = []
$("#deletePointsButton").css("backgroundColor", "#fff");
colorizeFeaturesByJSON(_grid_map_occ, _data_sp_occ)
clearAllLayers(); _data_sp_occ = vec
// asigna una referencia global para tener el resultado de la útima petición
if (_tipo_modulo === _MODULO_NICHO) { // _data_sp_occ = data_sp
var num_cell_occ = vec.length
var num_occ = 0
var data = { _data_sp_occ.forEach(function (item) {
"target_taxons": taxones, num_occ += parseInt(item["occ"])
"liminf": _lin_inf, })
"limsup": _lin_sup,
"sfecha": _sin_fecha,
"sfosil": _con_fosil,
"grid_res": grid_res,
"region": region
}
console.log(_data_sp_occ)
console.log("num_cell_occ: " + num_cell_occ)
console.log("num_occ: " + num_occ)
// $('#hist_fecha_container').loading({ // rellena cuadro de resumen
// stoppable: true _fillSpeciesData(num_occ, num_cell_occ);
// });
// Histograma de años de la especie. Se comenta para analisis de covid19
// TODO: Hacerlo en fechas mensuales y diarias
// fetch(_url_zacatuche + "/niche/especie/getCountByYear", { // manda mensaje cuando no hay registro de especies en celdas
// method: "POST", if (num_cell_occ === 0) {
// body: JSON.stringify(data), _VERBOSE ? console.log("No hay registros de especie") : _VERBOSE;
// headers: { _toastr.info($.i18n.prop('lb_norecords'));
// "Content-Type": "application/json" return;
// } }
// })
// .then(resp => resp.json())
// .then(resp => {
// if(resp.ok == true){
// var data = resp.data // Se activa boton de siguiente paso
// console.log(data) $("#specie_next").css('visibility', 'visible');
$("#specie_next").show("slow");
// $('#hist_fecha_container').loading('stop');
// _histogram_module.createBarChartFecha(data); colorizeFeaturesByJSON(_grid_map_occ, _data_sp_occ)
// } clearAllLayers();
// }) if (_tipo_modulo === _MODULO_NICHO) {
// .catch(err => {
// // _VERBOSE ? console.log("error: " + textStatus) : _VERBOSE;
// _VERBOSE ? console.log(errorThrown) : _VERBOSE;
// _VERBOSE ? console.log(jqXHR.responseText) : _VERBOSE;
// });
}
}) var data = {
.catch(err => { "target_taxons": taxones,
"liminf": _lin_inf,
// _VERBOSE ? console.log("error: " + textStatus) : _VERBOSE; "limsup": _lin_sup,
_VERBOSE ? console.log(errorThrown) : _VERBOSE; "sfecha": _sin_fecha,
_VERBOSE ? console.log(jqXHR.responseText) : _VERBOSE; "sfosil": _con_fosil,
"grid_res": grid_res,
"region": region
}
$('#tuto_mapa_occ').loading('stop');
$('#hist_fecha_container').loading('stop');
$("#specie_next").css('visibility', 'hidden');
}
}
}); });
} }
...@@ -2351,7 +2401,8 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) { ...@@ -2351,7 +2401,8 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) {
"sfecha": _sin_fecha, "sfecha": _sin_fecha,
"sfosil": _con_fosil, "sfosil": _con_fosil,
"grid_res": grid_res_val, "grid_res": grid_res_val,
"footprint_region": footprint_region "footprint_region": footprint_region,
// "disease": disease
}, },
beforeSend: function (xhr) { beforeSend: function (xhr) {
xhr.setRequestHeader('X-Test-Header', 'test-value'); xhr.setRequestHeader('X-Test-Header', 'test-value');
...@@ -3156,7 +3207,7 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) { ...@@ -3156,7 +3207,7 @@ var map_module = (function (url_geoserver, workspace, verbose, url_zacatuche) {
} }
......
...@@ -11,6 +11,10 @@ var module_nicho = (function () { ...@@ -11,6 +11,10 @@ var module_nicho = (function () {
var _VERBOSE = true; var _VERBOSE = true;
var _REGION_SELECTED; var _REGION_SELECTED;
var _REGION_TEXT_SELECTED; var _REGION_TEXT_SELECTED;
var _DISEASE_SELECTED;
var _DISEASE_TEXT_SELECTED;
var _AGENT_SELECTED;
var _AGENT_TEXT_SELECTED;
// actualizar este arreglo si cambian los ids de las secciones // actualizar este arreglo si cambian los ids de las secciones
var _SCROLL_SECTIONS = ["section0","section1","map","myScrollableBlockEpsilonDecil","histcontainer_row"]; var _SCROLL_SECTIONS = ["section0","section1","map","myScrollableBlockEpsilonDecil","histcontainer_row"];
...@@ -60,7 +64,7 @@ var module_nicho = (function () { ...@@ -60,7 +64,7 @@ var module_nicho = (function () {
map_taxon.set("especie", "species"); map_taxon.set("especie", "species");
map_taxon.set("species", "species"); map_taxon.set("species", "species");
var _taxones = []; var _taxones = [];
...@@ -264,6 +268,31 @@ var module_nicho = (function () { ...@@ -264,6 +268,31 @@ var module_nicho = (function () {
}); });
$("#disease_selected").change(function (e) {
console.log("Cambiando a " + ($("#disease_selected").val()));
_DISEASE_SELECTED = ($("#disease_selected").val());
_DISEASE_TEXT_SELECTED = $("#disease_selected option:selected").text();
//_map_module_nicho.changeRegionView(_DISEASE_SELECTED);
_regenMessage();
});
$("#agent_selected").change(function (e) {
console.log("Cambiando a " + ($("#agent_selected").val()));
_AGENT_SELECTED = ($("#agent_selected").val());
_AGENT_TEXT_SELECTED = $("#agent_selected option:selected").text();
//_map_module_nicho.changeRegionView(_AGENT_SELECTED);
_regenMessage();
});
$("#grid_resolution").change(function (e) { $("#grid_resolution").change(function (e) {
...@@ -273,6 +302,14 @@ var module_nicho = (function () { ...@@ -273,6 +302,14 @@ var module_nicho = (function () {
}); });
$("#disease_selected").change(function (e) {
_VERBOSE ? console.log("Cambia enfermedad") : _VERBOSE;
// No es necesario regenerar resultados
_regenMessage();
});
// checkbox que se activa cuando se desea realizar el proceso de validación. (Proceso de validación todavia no implementado) // checkbox que se activa cuando se desea realizar el proceso de validación. (Proceso de validación todavia no implementado)
$("#chkApriori").click(function (event) { $("#chkApriori").click(function (event) {
...@@ -425,6 +462,10 @@ var module_nicho = (function () { ...@@ -425,6 +462,10 @@ var module_nicho = (function () {
var region = _REGION_SELECTED; var region = _REGION_SELECTED;
var disease = _DISEASE_SELECTED;
var agent = _AGENT_SELECTED
var groupDatasetTotal = _componente_target.getGroupDatasetTotal() var groupDatasetTotal = _componente_target.getGroupDatasetTotal()
console.log(groupDatasetTotal) console.log(groupDatasetTotal)
...@@ -464,14 +505,126 @@ var module_nicho = (function () { ...@@ -464,14 +505,126 @@ var module_nicho = (function () {
var grid_res = $("#grid_resolution").val(); var grid_res = $("#grid_resolution").val();
var footprint_region = parseInt($("#footprint_region_select").val()); var footprint_region = parseInt($("#footprint_region_select").val());
var disease = $("#disease_selected").val();
var agent = $("#agent_selected").val();
// _map_module_nicho.loadD3GridMX(val_process, grid_res, footprint_region, _taxones); // _map_module_nicho.loadD3GridMX(val_process, grid_res, footprint_region, _taxones);
_map_module_nicho.busca_especie_grupo(_taxones, footprint_region, val_process, grid_res); _map_module_nicho.busca_especie_grupo(_taxones, footprint_region, val_process, grid_res, disease, agent);
}); });
$("#agent_selected").change(function() {
let var_obj = $(this).val();
let diseases = document.getElementById("disease_selected");
switch (var_obj){
case "Hospederos":
fetch("http://10.90.0.42:4006/graphql/hospederos/",{
method: "POST",
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({ query: 'query { get_diseases_hospederos {name}}'}),
})
.then(res => res.json())
.then((function(resp){
console.log(resp);
let data = resp ["data"]
let disease = data["get_diseases_hospederos"]
var select = document.getElementById("disease_selected")
$('select option[value="dis_default"]').attr("selected",true);
try {
let actual_modifiers =
$(".disease_opt").remove();
} catch (error) {
console.log("no diseases")
}
for (let index = 0; index < disease.length; index++){
console.log(disease[index]["name"])
var opt = document.createElement('option');
opt.setAttribute("class", "disease_opt")
opt.value = disease[index]["name"];
opt.innerHTML = disease[index]["name"];
select.append(opt);
}
}));
break;
case "Vectores":
fetch("http://10.90.0.42:4008/graphql/vectores/",{
method: "POST",
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({ query: 'query { get_diseases_vectores {name}}'}),
})
.then(res => res.json())
.then((function(resp){
console.log(resp);
let data = resp ["data"]
let disease = data["get_diseases_vectores"]
var select = document.getElementById("disease_selected")
$('select option[value="dis_default"]').attr("selected",true);
try {
let actual_modifiers =
$(".disease_opt").remove();
} catch (error) {
console.log("no diseases")
}
for (let index = 0; index < disease.length; index++){
console.log(disease[index]["name"])
var opt = document.createElement('option');
opt.setAttribute("class", "disease_opt")
opt.value = disease[index]["name"];
opt.innerHTML = disease[index]["name"];
select.append(opt);
}
}));
break;
case "Patogenos":
fetch("http://10.90.0.42:4007/graphql/patogenos/",{
method: "POST",
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({ query: 'query { get_diseases_patogenos {name}}'}),
})
.then(res => res.json())
.then((function(resp){
console.log(resp);
let data = resp ["data"]
let disease = data["get_diseases_patogenos"]
var select = document.getElementById("disease_selected")
$('select option[value="dis_default"]').attr("selected",true);
try {
let actual_modifiers =
$(".disease_opt").remove();
} catch (error) {
console.log("no diseases")
}
for (let index = 0; index < disease.length; index++){
console.log(disease[index]["name"])
var opt = document.createElement('option');
opt.setAttribute("class", "disease_opt")
opt.value = disease[index]["name"];
opt.innerHTML = disease[index]["name"];
select.append(opt);
}
}));
break;
default:
break;
}
});
$("")
$("#show_gen").click(function (e) { $("#show_gen").click(function (e) {
_VERBOSE ? console.log("show_gen") : _VERBOSE; _VERBOSE ? console.log("show_gen") : _VERBOSE;
...@@ -518,6 +671,10 @@ var module_nicho = (function () { ...@@ -518,6 +671,10 @@ var module_nicho = (function () {
// data_link.grid_res = parseInt($("#grid_resolution").val()); // data_link.grid_res = parseInt($("#grid_resolution").val());
data_link.grid_res = $("#grid_resolution").val(); data_link.grid_res = $("#grid_resolution").val();
data_link.footprint_region = $("#footprint_region_select").val(); data_link.footprint_region = $("#footprint_region_select").val();
data_link.disease = $("#disease_selected").val();
data_link.grid_agent = $("#agent_selected").val();
data_link.discardedFilterids = _map_module_nicho.get_discardedPoints().values().map(function (value) { data_link.discardedFilterids = _map_module_nicho.get_discardedPoints().values().map(function (value) {
return value.feature.properties.gridid return value.feature.properties.gridid
...@@ -555,10 +712,15 @@ var module_nicho = (function () { ...@@ -555,10 +712,15 @@ var module_nicho = (function () {
console.log("source") console.log("source")
_REGION_SELECTED = ($("#footprint_region_select").val() !== null && $("#footprint_region_select").val() !== undefined) ? parseInt($("#footprint_region_select").val()) : _REGION_SELECTED; _REGION_SELECTED = ($("#footprint_region_select").val() !== null && $("#footprint_region_select").val() !== undefined) ? parseInt($("#footprint_region_select").val()) : _REGION_SELECTED;
_DISEASE_SELECTED = ($("#disease_selected").val() !== null && $("#disease_selected").val() !== undefined) ? parseInt($("#disease_selected").val()) : _DISEASE_SELECTED;
_AGENT_SELECTED = ($("#agent_selected").val() !== null && $("#agent_selected").val() !== undefined) ? parseInt($("#agent_selected").val()): _AGENT_SELECTED;
_GRID_RES = $("#grid_resolution").val(); _GRID_RES = $("#grid_resolution").val();
console.log("REGION_SELECTED: " + _REGION_SELECTED); console.log("REGION_SELECTED: " + _REGION_SELECTED);
console.log("_GRID_RES: " + _GRID_RES); console.log("_GRID_RES: " + _GRID_RES);
console.log("_DISEASE_SELECTED" + _DISEASE_SELECTED);
console.log("_AGENT_SELECTED" + _AGENT_SELECTED);
console.log("Term: " + request.term); console.log("Term: " + request.term);
$.ajax({ $.ajax({
...@@ -608,7 +770,7 @@ var module_nicho = (function () { ...@@ -608,7 +770,7 @@ var module_nicho = (function () {
jQuery(function(){ jQuery(function(){
jQuery('#date_timepicker_start').datetimepicker({ jQuery('#date_timepicker_start').datetimepicker({
scrollInput : false, scrollInput : false,
format:'Y-m-d', format:'Yyyy',
onShow:function( ct ){ onShow:function( ct ){
this.setOptions({ this.setOptions({
maxDate:jQuery('#date_timepicker_end').val()?jQuery('#date_timepicker_end').val():false maxDate:jQuery('#date_timepicker_end').val()?jQuery('#date_timepicker_end').val():false
...@@ -799,6 +961,10 @@ var module_nicho = (function () { ...@@ -799,6 +961,10 @@ var module_nicho = (function () {
var region = _json_config.region ? parseInt(_json_config.region) : 1; var region = _json_config.region ? parseInt(_json_config.region) : 1;
var disease = _json_config.disease ? parseInt(_json_config.disease) : 1;
var agente = _json_config.agente ? parseInt(_json_config.agent) : 1;
// var rango_fechas = minFec != undefined && maxFec != undefined ? [minFec, maxFec] : undefined; // var rango_fechas = minFec != undefined && maxFec != undefined ? [minFec, maxFec] : undefined;
// recover deleted items // recover deleted items
...@@ -826,7 +992,7 @@ var module_nicho = (function () { ...@@ -826,7 +992,7 @@ var module_nicho = (function () {
} }
// _procesaValoresEnlace(sfilters, filters, chkVal, chkPrb, chkApr, chkFec, chkOcc, rango_fechas, chkFosil, gridRes, region, map_dPoints, chkValTemp); // _procesaValoresEnlace(sfilters, filters, chkVal, chkPrb, chkApr, chkFec, chkOcc, rango_fechas, chkFosil, gridRes, region, map_dPoints, chkValTemp);
_procesaValoresEnlace(sfilters, filters, chkVal, chkPrb, chkApr, chkFec, chkOcc, minFec, maxFec, minFecVal, maxFecVal, chkFosil, gridRes, region, map_dPoints, chkValTemp); _procesaValoresEnlace(sfilters, filters, chkVal, chkPrb, chkApr, chkFec, chkOcc, minFec, maxFec, minFecVal, maxFecVal, chkFosil, gridRes, region, disease, agente, map_dPoints, chkValTemp);
$("#show_gen").css('visibility', 'hidden'); $("#show_gen").css('visibility', 'hidden');
...@@ -936,7 +1102,7 @@ var module_nicho = (function () { ...@@ -936,7 +1102,7 @@ var module_nicho = (function () {
* @param {integer} gridRes - Resolución de la malla para ser considerado en los cálculos * @param {integer} gridRes - Resolución de la malla para ser considerado en los cálculos
*/ */
// function _procesaValoresEnlace(subgroups_target, subgroups, chkVal, chkPrb, chkApr, chkFec, chkOcc, rango_fechas, chkFosil, gridRes, region, map_dPoints, chkValTemp) { // function _procesaValoresEnlace(subgroups_target, subgroups, chkVal, chkPrb, chkApr, chkFec, chkOcc, rango_fechas, chkFosil, gridRes, region, map_dPoints, chkValTemp) {
function _procesaValoresEnlace(subgroups_target, subgroups, chkVal, chkPrb, chkApr, chkFec, chkOcc, minFec, maxFec, minFecVal, maxFecVal, chkFosil, gridRes, region, map_dPoints, chkValTemp) { function _procesaValoresEnlace(subgroups_target, subgroups, chkVal, chkPrb, chkApr, chkFec, chkOcc, minFec, maxFec, minFecVal, maxFecVal, chkFosil, gridRes, region, disease, agente, map_dPoints, chkValTemp) {
_VERBOSE ? console.log("_procesaValoresEnlace") : _VERBOSE; _VERBOSE ? console.log("_procesaValoresEnlace") : _VERBOSE;
...@@ -1019,6 +1185,12 @@ var module_nicho = (function () { ...@@ -1019,6 +1185,12 @@ var module_nicho = (function () {
$('#footprint_region_select option[value=' + region + ']').attr('selected', 'selected'); $('#footprint_region_select option[value=' + region + ']').attr('selected', 'selected');
$('#disease_selected option[value=' + disease + ']').attr('selected, selected');
$('#agent_selected option[value=' + agente + ']').attr('selected, selected');
console.log(subgroups_target) console.log(subgroups_target)
console.log(subgroups) console.log(subgroups)
...@@ -1170,9 +1342,14 @@ var module_nicho = (function () { ...@@ -1170,9 +1342,14 @@ var module_nicho = (function () {
var mapa_prob = $("#chkMapaProb").is(':checked'); var mapa_prob = $("#chkMapaProb").is(':checked');
var grid_res = $("#grid_resolution").val(); var grid_res = $("#grid_resolution").val();
var footprint_region = parseInt($("#footprint_region_select").val()); var footprint_region = parseInt($("#footprint_region_select").val());
var disease = $("#disease_selected").val();
var agent = $("#agent_selected").val();
console.log("grid_res: " + grid_res); console.log("grid_res: " + grid_res);
console.log("footprint_region: " + footprint_region); console.log("footprint_region: " + footprint_region);
console.log("disease" + disease);
console.log("agent"+ agent);
var fossil = $("#chkFosil").is(':checked'); var fossil = $("#chkFosil").is(':checked');
...@@ -1206,7 +1383,7 @@ var module_nicho = (function () { ...@@ -1206,7 +1383,7 @@ var module_nicho = (function () {
// Falta agregar la condición makesense. // Falta agregar la condición makesense.
// Cuando se realiza una consulta por region seleccioanda se verica que la especie objetivo se encuentre dentro de esta area // Cuando se realiza una consulta por region seleccioanda se verica que la especie objetivo se encuentre dentro de esta area
_res_display_module_nicho.refreshData(num_items, val_process, slider_value, min_occ, mapa_prob, rango_fechas, chkFecha, fossil, grid_res, footprint_region, val_process_temp); _res_display_module_nicho.refreshData(num_items, val_process, slider_value, min_occ, mapa_prob, rango_fechas, chkFecha, fossil, grid_res, footprint_region, disease, agent, val_process_temp);
} }
......
...@@ -2776,9 +2776,13 @@ var res_display_module = (function (verbose, url_zacatuche) { ...@@ -2776,9 +2776,13 @@ var res_display_module = (function (verbose, url_zacatuche) {
// console.log(data_body_request) // console.log(data_body_request)
if(isdeletecell){ //let query = 'query{occurrences_by_taxon_' + nodo + '(query: "nombreenfermedad = \''+ _DISEASE_SELECTED + '\' AND '+ _PARENT_FIELD.toLowerCase() +' = \'' + _LABEL_VALUE +'\' AND longituddecimal ='+ long +' AND latituddecimal = ' + lat + '"){epitetoespecifico reino aniocolecta genero localidad sexo individuosinfectados gridid_'+ _grid_res + '}}'
fetch(_url_zacatuche + "/niche/especie/getIDCellFromCoordinates", {
if(isdeletecell){
fetch(_url_zacatuche + "/niche/especie/getIDCellFromCoordinates", {
method: "POST", method: "POST",
body: JSON.stringify(data_body_request), body: JSON.stringify(data_body_request),
headers: { headers: {
...@@ -2787,6 +2791,8 @@ var res_display_module = (function (verbose, url_zacatuche) { ...@@ -2787,6 +2791,8 @@ var res_display_module = (function (verbose, url_zacatuche) {
}) })
.then(resp => resp.json()) .then(resp => resp.json())
.then(respuesta => { .then(respuesta => {
console.log(_taxones)
console.log(respuesta.data)
if (respuesta.ok) { if (respuesta.ok) {
...@@ -2820,42 +2826,27 @@ var res_display_module = (function (verbose, url_zacatuche) { ...@@ -2820,42 +2826,27 @@ var res_display_module = (function (verbose, url_zacatuche) {
} }
else{ else{
fetch(_url_zacatuche + "/niche/especie/getCellOcurrences", { if (_AGENT_SELECTED == 'Hospederos')
method: "POST", var _url = 'http://10.90.0.42:4006/graphql/hospederos/'
body: JSON.stringify(data_body_request), else if (_AGENT_SELECTED == 'Patogenos')
headers: { var _url = "http://10.90.0.42:4007/graphql/patogenos/"
"Content-Type": "application/json" else
} var _url = "http://10.90.0.42:4008/graphql/vectores/"
})
.then(resp => resp.json())
.then(respuesta => {
if (respuesta.ok) {
var data = respuesta.data;
_VERBOSE ? console.log(data) : _VERBOSE;
if (data.length > 0) { let nodo = _AGENT_SELECTED.toLowerCase()
let query = 'query{occurrences_by_taxon_' + nodo + '(query: "nombreenfermedad = \''+ _DISEASE_SELECTED + '\' AND '+ _PARENT_FIELD.toLowerCase() +' = \'' + _LABEL_VALUE +'\' AND longituddecimal ='+ long +' AND latituddecimal = ' + lat + '"){epitetoespecifico reino aniocolecta genero localidad sexo individuosinfectados gridid_'+ grid_res + '}}'
console.log(query)
var htmltable = _createOccTableFromData(data); $.ajax({
if (htmltable === "") method: "POST",
return; url: _url,
_map_module_nicho.showPopUp(htmltable, [lat, long], true); contentType: "application/json",
data: JSON.stringify({query: query}),
success: function (resp) {
console.log(resp)
} }
})
}
$('#map2').loading('stop');
})
.catch(err => {
$('#map2').loading('stop');
_VERBOSE ? console.log("error: " + err) : _VERBOSE;
});
} }
......
var _PARENT_FIELD = "";
var _LABEL_VALUE = "";
var _AGENT_SELECTED = "";
/** /**
* Módulo variable, utilizado para crear y gestionar los selectores de grupos de variables en nicho ecológico y comunidad ecológica. * Módulo variable, utilizado para crear y gestionar los selectores de grupos de variables en nicho ecológico y comunidad ecológica.
...@@ -34,11 +37,16 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -34,11 +37,16 @@ var variable_module = (function (verbose, url_zacatuche) {
var _toastr = toastr; var _toastr = toastr;
var _tipo_modulo; var _tipo_modulo;
var _MODULO_COMUNIDAD = 1; var _MODULO_COMUNIDAD = 1;
var _available_variables = []; var _available_variables = [];
var _REGION_SELECTED = 1; var _REGION_SELECTED = 1
var _GRID_RES = "state"; var _GRID_RES = "state";
// var _AGENT_SELECTED = "hospedero";
// var _PARENT_FIELD = "";
// var _LABEL_VALUE = "";
// var map_taxon = new Map() // var map_taxon = new Map()
// map_taxon.set("reino", "kingdom"); // map_taxon.set("reino", "kingdom");
...@@ -64,7 +72,7 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -64,7 +72,7 @@ var variable_module = (function (verbose, url_zacatuche) {
* @function getVarSelArray * @function getVarSelArray
* @public * @public
* @memberof! table_module * @memberof! table_module
* *
*/ */
function getVarSelArray() { function getVarSelArray() {
return _var_sel_array; return _var_sel_array;
...@@ -76,7 +84,7 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -76,7 +84,7 @@ var variable_module = (function (verbose, url_zacatuche) {
* @function getSelectorVaribles * @function getSelectorVaribles
* @public * @public
* @memberof! table_module * @memberof! table_module
* *
*/ */
function getSelectorVaribles() { function getSelectorVaribles() {
return _selectors_created; return _selectors_created;
...@@ -90,7 +98,7 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -90,7 +98,7 @@ var variable_module = (function (verbose, url_zacatuche) {
* @function VariableSelector * @function VariableSelector
* @public * @public
* @memberof! table_module * @memberof! table_module
* *
* @param {String} parent - Id del contenedor del selector de variables * @param {String} parent - Id del contenedor del selector de variables
* @param {String} id - Id del selector de variables * @param {String} id - Id del selector de variables
* @param {String} title - Título del selector de variables desplegado en la parte superior * @param {String} title - Título del selector de variables desplegado en la parte superior
...@@ -103,8 +111,8 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -103,8 +111,8 @@ var variable_module = (function (verbose, url_zacatuche) {
var sp_items = ['a_item_reino', 'a_item_phylum', 'a_item_clase', 'a_item_orden', 'a_item_familia', 'a_item_genero','a_item_especie']; var sp_items = ['a_item_reino', 'a_item_phylum', 'a_item_clase', 'a_item_orden', 'a_item_familia', 'a_item_genero','a_item_especie'];
var sp_parent_field = ['reinovalido', 'phylumdivisionvalido', 'clasevalida', 'ordenvalido', 'familiavalida', 'generovalido','especieepiteto']; var sp_parent_field = ['reino', 'phylum', 'clase', 'orden', 'familia', 'genero','epitetoespecifico','epitetoinfraespecifico'];
var sp_data_field = ['phylumdivisionvalido', 'clasevalida', 'ordenvalido', 'familiavalida', 'generovalido', 'especieepiteto']; //'especievalidabusqueda' var sp_data_field = ['phylum', 'clase', 'orden', 'familia', 'genero','epitetoespecifico','epitetoinfraespecifico']; //'especievalidabusqueda'
var NUM_ABIO = 20; var NUM_ABIO = 20;
var NIVEL_REINO = 2 var NIVEL_REINO = 2
var NIVEL_PHYLUM = 3 var NIVEL_PHYLUM = 3
...@@ -142,6 +150,8 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -142,6 +150,8 @@ var variable_module = (function (verbose, url_zacatuche) {
// Evento generado cuando se selecciona un grupo de variables climáticas, realiza la carga del árbol de selección del grupo seleccionado. // Evento generado cuando se selecciona un grupo de variables climáticas, realiza la carga del árbol de selección del grupo seleccionado.
self.loadTreeVarRaster = function () { self.loadTreeVarRaster = function () {
...@@ -149,16 +159,16 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -149,16 +159,16 @@ var variable_module = (function (verbose, url_zacatuche) {
if(!abio_tab) return; if(!abio_tab) return;
_VERBOSE ? console.log("self.loadTreeVarRaster") : _VERBOSE; _VERBOSE ? console.log("self.loadTreeVarRaster") : _VERBOSE;
var text_raster = _iTrans.prop('lb_raster'); var text_raster = _iTrans.prop('lb_raster');
var var_selected = "root_bioclim"; var var_selected = "root_bioclim";
var level_root = 0; var level_root = 0;
var level_vartree = 1; var level_vartree = 1;
console.log("val: " + $("#footprint_region_select").val()); console.log("val: " + $("#footprint_region_select").val());
console.log("_REGION_SELECTED: " + _REGION_SELECTED); console.log("_REGION_SELECTED: " + _REGION_SELECTED);
_REGION_SELECTED = ($("#footprint_region_select").val() !== null && $("#footprint_region_select").val() !== undefined) ? parseInt($("#footprint_region_select").val()) : _REGION_SELECTED; _REGION_SELECTED = ($("#footprint_region_select").val() !== null && $("#footprint_region_select").val() !== undefined) ? parseInt($("#footprint_region_select").val()) : _REGION_SELECTED;
_GRID_RES = $("#grid_resolution").val(); _GRID_RES = $("#grid_resolution").val();
...@@ -272,7 +282,7 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -272,7 +282,7 @@ var variable_module = (function (verbose, url_zacatuche) {
console.log("REGION_SELECTED: " + _REGION_SELECTED); console.log("REGION_SELECTED: " + _REGION_SELECTED);
console.log("_GRID_RES: " + _GRID_RES); console.log("_GRID_RES: " + _GRID_RES);
current_id = current_id.replace(/#/g,'').replace(/\(/g,'').replace(/\)/g,'') current_id = current_id.replace(/#/g,'').replace(/\(/g,'').replace(/\)/g,'')
console.log("current_id: " + current_id); console.log("current_id: " + current_id);
// console.log("id: " + id); // console.log("id: " + id);
...@@ -347,14 +357,14 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -347,14 +357,14 @@ var variable_module = (function (verbose, url_zacatuche) {
"children": default_son "children": default_son
}; };
} }
else { else {
console.log(data[i].label) console.log(data[i].label)
// eliminacaraacteres especiales y espacios en blanco // eliminacaraacteres especiales y espacios en blanco
var lb = data[i].label.replace(/[^a-zA-Z0-9]/g, "").replace(/ /g,'').replace(/#/g,'') var lb = data[i].label.replace(/[^a-zA-Z0-9]/g, "").replace(/ /g,'').replace(/#/g,'')
// console.log(_iTrans.prop(lb)) // console.log(_iTrans.prop(lb))
newNode = { newNode = {
...@@ -369,15 +379,15 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -369,15 +379,15 @@ var variable_module = (function (verbose, url_zacatuche) {
} }
$('#jstree_variables_bioclim_' + id).jstree("create_node", current_node, newNode, 'last', false, false); $('#jstree_variables_bioclim_' + id).jstree("create_node", current_node, newNode, 'last', false, false);
} }
$("#jstree_variables_bioclim_" + id).jstree(true).delete_node(d.node.children[0]); $("#jstree_variables_bioclim_" + id).jstree(true).delete_node(d.node.children[0]);
$("#jstree_variables_bioclim_" + id).jstree(true).set_icon(current_node.id, "./plugins/jstree/images/dna.png"); $("#jstree_variables_bioclim_" + id).jstree(true).set_icon(current_node.id, "./plugins/jstree/images/dna.png");
...@@ -402,7 +412,7 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -402,7 +412,7 @@ var variable_module = (function (verbose, url_zacatuche) {
.text(_iTrans.prop(title)) .text(_iTrans.prop(title))
.appendTo($("#" + parent)); .appendTo($("#" + parent));
} }
// div contenedor del cuerpo de la sección grupo de variables, puede ser del 80% de la altura de la página o de 300px en su tamaño reducido // div contenedor del cuerpo de la sección grupo de variables, puede ser del 80% de la altura de la página o de 300px en su tamaño reducido
var container_height = reduced_height ? "container_60p" : "container_80p" var container_height = reduced_height ? "container_60p" : "container_80p"
...@@ -544,6 +554,8 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -544,6 +554,8 @@ var variable_module = (function (verbose, url_zacatuche) {
}); });
var input_sp = $('<input/>') var input_sp = $('<input/>')
.attr('id', 'text_variable' + "_" + id) .attr('id', 'text_variable' + "_" + id)
.attr('type', 'text') .attr('type', 'text')
...@@ -554,41 +566,75 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -554,41 +566,75 @@ var variable_module = (function (verbose, url_zacatuche) {
source: function (request, response) { source: function (request, response) {
_VERBOSE ? console.log($("#footprint_region_select").val()) : _VERBOSE; _VERBOSE ? console.log($("#footprint_region_select").val()) : _VERBOSE;
_REGION_SELECTED = ($("#footprint_region_select").val() !== null && $("#footprint_region_select").val() !== undefined) ? parseInt($("#footprint_region_select").val()) : _REGION_SELECTED; _REGION_SELECTED = ($("#footprint_region_select").val() !== null && $("#footprint_region_select").val() !== undefined) ? parseInt($("#footprint_region_select").val()) : _REGION_SELECTED;
_GRID_RES = $("#grid_resolution").val(); _GRID_RES = $("#grid_resolution").val();
_DISEASE_SELECTED = $("#disease_selected").val()
_AGENT_SELECTED = $("#agent_selected").val();
console.log("REGION_SELECTED: " + _REGION_SELECTED); console.log("REGION_SELECTED: " + _REGION_SELECTED);
console.log("_GRID_RES: " + _GRID_RES); console.log("_GRID_RES: " + _GRID_RES);
console.log("_AGENT_SELECTED: " + _AGENT_SELECTED);
console.log("_DISEASE_SELECTED: " + _DISEASE_SELECTED);
if (_AGENT_SELECTED == 'Hospederos')
var _url = 'http://10.90.0.42:4006/graphql/hospederos/'
else if (_AGENT_SELECTED == 'Patogenos')
var _url = "http://10.90.0.42:4007/graphql/patogenos/"
else
var _url = "http://10.90.0.42:4008/graphql/vectores/"
let nodo = _AGENT_SELECTED.toLowerCase()
var query = 'query{occurrences_by_taxon_' + nodo + '(query: "nombreenfermedad = \''+ _DISEASE_SELECTED + '\' AND '+ varfield.toLowerCase() +' LIKE \''+ request.term.charAt(0).toUpperCase() +
request.term.slice(1) +'%\' "){'+ varfield.toLowerCase() +'}}'
let lst = []
console.log(query)
$.ajax({ $.ajax({
url: _url_zacatuche + "/niche/especie/getEntList", method: "POST",
dataType: "json", url: _url,
type: "post", contentType: "application/json",
data: { data: JSON.stringify({query: query}),
searchStr: request.term,
nivel: self.varfilter_selected[1],
source: 0, // source para saber si viene de objetivo o el target
footprint_region: _REGION_SELECTED,
grid_res: _GRID_RES
},
success: function (resp) { success: function (resp) {
let list = resp["data"]
console.log(resp)
response($.map(resp.data, function (item) { response($.map(resp.data, function (item) {
let uniqueObjArray = [
...new Map(item.map((item) => [item["name"], item])).values(),
];
//uniqueObjArray.forEach(function(obj) {
// obj.reinovalido = obj.reino;
// delete obj.reino;
// });
console.log(uniqueObjArray)
_VERBOSE ? console.log(item) : _VERBOSE;
console.log(self.varfilter_selected[1]);
for (let i = 0; i < uniqueObjArray.length; i++) {
var opt = uniqueObjArray[i]
return{
label: item[self.varfilter_selected[1]], _VERBOSE ? console.log(opt) : _VERBOSE;
id: item[self.varfilter_selected[1]] console.log(self.varfilter_selected[1]);
};
return {
label: opt[self.varfilter_selected[1]],
id: opt[self.varfilter_selected[1]]
};
}
})); }));
} }
}); })
}, },
minLength: 2, minLength: 2,
...@@ -712,7 +758,7 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -712,7 +758,7 @@ var variable_module = (function (verbose, url_zacatuche) {
// .click(function (e) { // .click(function (e) {
// console.log(self.groupDatasetTotal); // console.log(self.groupDatasetTotal);
// // console.log(self.getVarSelArray()); // // console.log(self.getVarSelArray());
// if(self.groupDatasetTotal.length == 0){ // if(self.groupDatasetTotal.length == 0){
// console.log("No species selected"); // console.log("No species selected");
...@@ -723,7 +769,7 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -723,7 +769,7 @@ var variable_module = (function (verbose, url_zacatuche) {
// console.log(self.groupDatasetTotal); // console.log(self.groupDatasetTotal);
// console.log(self.var_sel_array); // console.log(self.var_sel_array);
// $.each(self.groupDatasetTotal, function(index_i, grupo){ // $.each(self.groupDatasetTotal, function(index_i, grupo){
...@@ -731,7 +777,7 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -731,7 +777,7 @@ var variable_module = (function (verbose, url_zacatuche) {
// $.each(grupo.elements, function(index_j, sp_grupo){ // $.each(grupo.elements, function(index_j, sp_grupo){
// var array_sp = sp_grupo.label.split(">>"); // var array_sp = sp_grupo.label.split(">>");
// var temp_item = {}; // var temp_item = {};
...@@ -753,12 +799,12 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -753,12 +799,12 @@ var variable_module = (function (verbose, url_zacatuche) {
// $('#jstree_variables_species_' + id).off('open_node.jstree', self.getTreeVar); // $('#jstree_variables_species_' + id).off('open_node.jstree', self.getTreeVar);
// $("#jstree_variables_species_" + id).off('changed.jstree', self.getChangeTreeVar); // $("#jstree_variables_species_" + id).off('changed.jstree', self.getChangeTreeVar);
// $("#jstree_variables_species_" + id).off('ready.jstree', self.loadNodes); // $("#jstree_variables_species_" + id).off('ready.jstree', self.loadNodes);
// e.preventDefault(); // e.preventDefault();
// }) // })
// .appendTo(tab_pane); // .appendTo(tab_pane);
} }
...@@ -829,7 +875,9 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -829,7 +875,9 @@ var variable_module = (function (verbose, url_zacatuche) {
// Es un evento generado cuando se realiza la carga del árbol de selección (jstree: https://www.jstree.com/) que contiene el selector de variables.
// Es un evento generado cuando se realiza la carga del árbol de selección (jstree: https://www.jstree.com/) que contiene el selector de variables.
self.loadNodes = function () { self.loadNodes = function () {
_VERBOSE ? console.log("self.loadNodes") : _VERBOSE; _VERBOSE ? console.log("self.loadNodes") : _VERBOSE;
...@@ -851,27 +899,45 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -851,27 +899,45 @@ var variable_module = (function (verbose, url_zacatuche) {
_VERBOSE ? console.log(self.field_vartree) : _VERBOSE; _VERBOSE ? console.log(self.field_vartree) : _VERBOSE;
_VERBOSE ? console.log(self.value_vartree) : _VERBOSE; _VERBOSE ? console.log(self.value_vartree) : _VERBOSE;
_REGION_SELECTED = ($("#footprint_region_select").val() !== null && $("#footprint_region_select").val() !== undefined) ? parseInt($("#footprint_region_select").val()) : _REGION_SELECTED; _REGION_SELECTED = ($("#footprint_region_select").val() !== null && $("#footprint_region_select").val() !== undefined) ? parseInt($("#footprint_region_select").val()) : _REGION_SELECTED;
_GRID_RES = $("#grid_resolution").val(); _GRID_RES = $("#grid_resolution").val();
_AGENT_SELECTED = $("#agent_selected").val();
console.log("REGION_SELECTED: " + _REGION_SELECTED); console.log("REGION_SELECTED: " + _REGION_SELECTED);
console.log("_GRID_RES: " + _GRID_RES); console.log("_GRID_RES: " + _GRID_RES);
console.log("_AGENT_SELECTED" + _AGENT_SELECTED);
if (_AGENT_SELECTED == 'Hospederos')
var _url = 'http://10.90.0.42:4006/graphql/hospederos/'
else if (_AGENT_SELECTED == 'Patogenos')
var _url = "http://10.90.0.42:4007/graphql/patogenos/"
else
var _url = "http://10.90.0.42:4008/graphql/vectores/"
let nodo = _AGENT_SELECTED.toLowerCase()
let query = 'query{occurrences_by_taxon_' + nodo + '(query: "nombreenfermedad = \''+ _DISEASE_SELECTED + '\' AND '+ varfield.toLowerCase() +' = \'' + self.value_vartree +'\' "){'+ field_r +'}}'
console.log(query)
$.ajax({ $.ajax({
url: _url_zacatuche + "/niche/especie/getVariables", method: "POST",
dataType: "json", url: _url,
type: "post", contentType: "application/json",
data: { data: JSON.stringify({query: query}),
"field": field_r,
"parentfield": parentfield_r,
"parentitem": self.value_vartree,
"footprint_region": _REGION_SELECTED,
"grid_res": _GRID_RES
},
success: function (resp) { success: function (resp) {
console.log(resp)
let data2 = resp.data["occurrences_by_taxon_"+ nodo]
console.log(data2)
let uniqueObjArray = [
...new Map(data2.map((item) => [item["name"], item])).values(),
];
console.log(uniqueObjArray)
let data = uniqueObjArray
data = resp.data;
var current_node = $('#jstree_variables_species_' + id).jstree(true).get_node($("#root")); var current_node = $('#jstree_variables_species_' + id).jstree(true).get_node($("#root"));
//current_node.prop('title', ); //current_node.prop('title', );
...@@ -881,15 +947,23 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -881,15 +947,23 @@ var variable_module = (function (verbose, url_zacatuche) {
$('li').removeAttr("data-original-title"); $('li').removeAttr("data-original-title");
$('#jstree_variables_species_' + id).removeAttr("data-original-title"); $('#jstree_variables_species_' + id).removeAttr("data-original-title");
$('#jstree_variables_species_' + id).removeAttr("title"); $('#jstree_variables_species_' + id).removeAttr("title");
if(field_r !== 'especievalidabusqueda'){ if(field_r !== 'especievalidabusqueda'){
for (i = 0; i < data.length; i++) { for (i = 0; i < data.length; i++) {
var idNode = ""; var idNode = "";
// console.log(data[i].name) let result = field_r;
var namesp = data[i].name.replace(/ /g,"").replace(/\%/g,"").replace(/\)/g,"").replace(/\(/g,"").replace(/\./g,"").replace(/,/g,"") console.log(Object.values(data))
var namesp1 = data[i]
var namesp = namesp1[field_r]
console.log(namesp)
var namesp = namesp1[field_r].replace(/ /g,"").replace(/\%/g,"").replace(/\)/g,"").replace(/\(/g,"").replace(/\./g,"").replace(/,/g,"")
// console.log(namesp) // console.log(namesp)
if ($("#" + namesp).length > 0) { if ($("#" + namesp).length > 0) {
...@@ -901,7 +975,7 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -901,7 +975,7 @@ var variable_module = (function (verbose, url_zacatuche) {
console.log("idNode: " + idNode) console.log("idNode: " + idNode)
var default_son = self.level_vartree < 8 ? [{text: "cargando..."}] : []; var default_son = self.level_vartree < 8 ? [{text: "cargando..."}] : [];
var label_taxon = self.level_vartree < 8 ? data[i].name + " (spp: " + data[i].spp + ")" : data[i].name; var label_taxon = self.level_vartree < 8 ? namesp1[field_r] : namesp1[field_r];
// label_taxon = self.level_vartree == 8 ? self.value_vartree + " " + label_taxon : label_taxon; // label_taxon = self.level_vartree == 8 ? self.value_vartree + " " + label_taxon : label_taxon;
...@@ -910,12 +984,12 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -910,12 +984,12 @@ var variable_module = (function (verbose, url_zacatuche) {
var newNode = { var newNode = {
id: idNode, id: idNode,
text: label_taxon, //data[i].name + " (spp: " + data[i].spp + ")", text: label_taxon, //data[i].name + " (spp: " + data[i].spp + ")",
icon: "plugins/jstree/images/dna.png", icon: "plugins/jstree/images/dna.png",
attr: { attr: {
"nivel": self.level_vartree, "nivel": self.level_vartree,
"type": _TYPE_TAXON "type": _TYPE_TAXON
}, },
state: {'opened': false}, state: {'opened': false},
"children": default_son "children": default_son
}; };
...@@ -933,14 +1007,14 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -933,14 +1007,14 @@ var variable_module = (function (verbose, url_zacatuche) {
} }
$("#jstree_variables_species_" + id).jstree(true).set_icon(current_node.id, "./plugins/jstree/images/dna.png"); $("#jstree_variables_species_" + id).jstree(true).set_icon(current_node.id, "./plugins/jstree/images/dna.png");
var description_complement = ''; var description_complement = '';
if(data[0].name.split(' ').length > 1 && field_r === 'especievalidabusqueda'){ if(namesp1[field_r].split(' ').length > 1 && field_r === 'especievalidabusqueda'){
description_complement += data[0].name.split(' ')[1]; description_complement += namesp1[field_r].split(' ')[1];
} }
...@@ -955,11 +1029,120 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -955,11 +1029,120 @@ var variable_module = (function (verbose, url_zacatuche) {
} }
} }
})
});
} }
$("#disease_selected").change(function () {
_VERBOSE ? console.log("self.loadNodes0") : _VERBOSE;
// se incrementa level para asignar el nivel adecuado a los hijos de la raiz
// la funcion es llamda dos veces, por tantro se decidio utilizar el arreglo + 1, en lufar de utilzar la variable global "level_vartree"
self.level_vartree = 5;
_VERBOSE ? console.log("level_vartree: " + self.level_vartree) : _VERBOSE;
console.log(self.varfilter_selected);
var field_r = 'orden';
var parentfield_r = self.parent_field_vartree;
if(parseInt(self.level_vartree) > 8){
field_r = 'especievalidabusqueda';
parentfield_r = '';
}
_VERBOSE ? console.log(self.field_vartree) : _VERBOSE;
_VERBOSE ? console.log(self.value_vartree) : _VERBOSE;
_REGION_SELECTED = ($("#footprint_region_select").val() !== null && $("#footprint_region_select").val() !== undefined) ? parseInt($("#footprint_region_select").val()) : _REGION_SELECTED;
_GRID_RES = $("#grid_resolution").val();
_AGENT_SELECTED = $("#agent_selected").val();
_DISEASE_SELECTED = $("#disease_selected").val()
console.log("REGION_SELECTED: " + _REGION_SELECTED);
console.log("_GRID_RES: " + _GRID_RES);
console.log("_AGENT_SELECTED" + _AGENT_SELECTED);
if (_AGENT_SELECTED == 'Hospederos')
var _url = 'http://10.90.0.42:4006/graphql/hospederos/'
else if (_AGENT_SELECTED == 'Patogenos')
var _url = "http://10.90.0.42:4007/graphql/patogenos/"
else
var _url = "http://10.90.0.42:4008/graphql/vectores/"
let nodo = _AGENT_SELECTED.toLowerCase()
let query = 'query{occurrences_by_taxon_' + nodo + '(query: "nombreenfermedad = \''+ _DISEASE_SELECTED + '\' "){clase}}'
console.log(query)
$.ajax({
method: "POST",
url: _url,
contentType: "application/json",
data: JSON.stringify({query: query}),
success: function (resp, event, ui) {
console.log(resp)
let data2 = resp.data["occurrences_by_taxon_" + nodo]
console.log(data2)
let uniqueObjArray = [
...new Map(data2.map((item) => [item["name"], item])).values(),
];
console.log(uniqueObjArray)
let data = uniqueObjArray
console.log(ui);
$('#jstree_variables_species_' + id).jstree("destroy").empty();
$('#jstree_variables_species_' + id).on('open_node.jstree', self.getTreeVar);
$("#jstree_variables_species_" + id).on('changed.jstree', self.getChangeTreeVar);
$("#jstree_variables_species_" + id).on('loaded.jstree', self.loadNodes);
self.value_vartree = ui.item.id;
self.field_vartree = self.varfilter_selected[0];
self.parent_field_vartree = self.varfilter_selected[1];
self.level_vartree = self.varfilter_selected[2];
// _VERBOSE ? console.log("nivel") : _VERBOSE;
_VERBOSE ? console.log(self.level_vartree) : _VERBOSE;
var icon = parseInt(self.level_vartree) === 8 ? "plugins/jstree/images/dna.png" : "plugins/jstree/dist/themes/default/throbber.gif"
// _VERBOSE ? console.log(self.level_vartree) : _VERBOSE;
var tree_reinos = [{
"text": self.value_vartree,
"id": "root",
"attr": {"nivel": self.level_vartree, "type": _TYPE_TAXON},
'state': {'opened': true},
"icon": icon
}];
$('#jstree_variables_species_' + id).jstree({
'plugins': ["wholerow", "checkbox"],
'core': {
'data': tree_reinos,
'themes': {
'name': 'proton',
'responsive': true
},
'check_callback': true
}
});
}
})
})
// Evento generado cuando se realiza la acción de abrir una rama del árbol de selección, realiza la carga de los elementos que componen la rama a la cual se desea tener acceso. // Evento generado cuando se realiza la acción de abrir una rama del árbol de selección, realiza la carga de los elementos que componen la rama a la cual se desea tener acceso.
self.getTreeVar = function (e, d) { self.getTreeVar = function (e, d) {
...@@ -973,7 +1156,7 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -973,7 +1156,7 @@ var variable_module = (function (verbose, url_zacatuche) {
console.log("No se encontraron datos debajo de este nivel") console.log("No se encontraron datos debajo de este nivel")
return; return;
} }
var next_field = ""; var next_field = "";
var next_nivel = 0; var next_nivel = 0;
var parent_field = ""; var parent_field = "";
...@@ -981,28 +1164,28 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -981,28 +1164,28 @@ var variable_module = (function (verbose, url_zacatuche) {
$("#jstree_variables_species_" + id).jstree(true).set_icon(d.node.id, "./plugins/jstree/dist/themes/default/throbber.gif"); $("#jstree_variables_species_" + id).jstree(true).set_icon(d.node.id, "./plugins/jstree/dist/themes/default/throbber.gif");
if (d.node.original.attr.nivel == 2) { if (d.node.original.attr.nivel == 2) {
parent_field = "reinovalido" parent_field = "reino"
next_field = "phylumdivisionvalido"; next_field = "phylum";
next_nivel = 3; next_nivel = 3;
} else if (d.node.original.attr.nivel == 3) { } else if (d.node.original.attr.nivel == 3) {
parent_field = "phylumdivisionvalido" parent_field = "phylum"
next_field = "clasevalida"; next_field = "clase";
next_nivel = 4; next_nivel = 4;
} else if (d.node.original.attr.nivel == 4) { } else if (d.node.original.attr.nivel == 4) {
parent_field = "clasevalida" parent_field = "clase"
next_field = "ordenvalido"; next_field = "orden";
next_nivel = 5; next_nivel = 5;
} else if (d.node.original.attr.nivel == 5) { } else if (d.node.original.attr.nivel == 5) {
parent_field = "ordenvalido" parent_field = "orden"
next_field = "familiavalida"; next_field = "familia";
next_nivel = 6; next_nivel = 6;
} else if (d.node.original.attr.nivel == 6) { } else if (d.node.original.attr.nivel == 6) {
parent_field = "familiavalida" parent_field = "familia"
next_field = "generovalido"; next_field = "genero";
next_nivel = 7; next_nivel = 7;
} else if (d.node.original.attr.nivel == 7) { } else if (d.node.original.attr.nivel == 7) {
parent_field = "generovalido" parent_field = "genero"
next_field = "especieepiteto"; next_field = "epitetoespecifico";
next_nivel = 8; next_nivel = 8;
} else { } else {
$('#jstree_variables_species_' + id).tooltip('hide'); $('#jstree_variables_species_' + id).tooltip('hide');
...@@ -1013,35 +1196,67 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -1013,35 +1196,67 @@ var variable_module = (function (verbose, url_zacatuche) {
_VERBOSE ? console.log(d.node.id) : _VERBOSE _VERBOSE ? console.log(d.node.id) : _VERBOSE
_VERBOSE ? console.log(d.node.text) : _VERBOSE _VERBOSE ? console.log(d.node.text) : _VERBOSE
var text_val = d.node.text var text_val = d.node.text
var regex = / \(spp: \d*\)/gi; var regex = / \(spp: \d*\)/gi;
// elimina el (spp: N) del valir para realizar la busqueda de manera correcta // elimina el (spp: N) del valir para realizar la busqueda de manera correcta
var label_value = text_val.replace(regex, ''); var label_value = text_val.replace(regex, '');
_VERBOSE ? console.log(label_value) : _VERBOSE _VERBOSE ? console.log(label_value) : _VERBOSE
_REGION_SELECTED = ($("#footprint_region_select").val() !== null && $("#footprint_region_select").val() !== undefined) ? parseInt($("#footprint_region_select").val()) : _REGION_SELECTED; _REGION_SELECTED = ($("#footprint_region_select").val() !== null && $("#footprint_region_select").val() !== undefined) ? parseInt($("#footprint_region_select").val()) : _REGION_SELECTED;
_GRID_RES = $("#grid_resolution").val(); _GRID_RES = $("#grid_resolution").val();
console.log("REGION_SELECTED: " + _REGION_SELECTED); console.log("REGION_SELECTED: " + _REGION_SELECTED);
console.log("_GRID_RES: " + _GRID_RES); console.log("_GRID_RES: " + _GRID_RES);
if (_AGENT_SELECTED == 'Hospederos')
var _url = 'http://10.90.0.42:4006/graphql/hospederos/'
else if (_AGENT_SELECTED == 'Patogenos')
var _url = "http://10.90.0.42:4007/graphql/patogenos/"
else
var _url = "http://10.90.0.42:4008/graphql/vectores/"
let nodo = _AGENT_SELECTED.toLowerCase()
let query = 'query{occurrences_by_taxon_' + nodo + '(query: "nombreenfermedad = \''+ _DISEASE_SELECTED + '\' AND '+ parent_field.toLowerCase() +' = \'' + label_value +'\' "){'+ next_field +'}}'
console.log(query)
$.ajax({ $.ajax({
url: _url_zacatuche + "/niche/especie/getVariables", method: "POST",
dataType: "json", url: _url,
type: "post", contentType: "application/json",
data: { data: JSON.stringify({query: query}),
"field": next_field,
"parentfield": parent_field,
// "parentitem": d.node.text.split(" ")[0],
"parentitem": label_value,
"footprint_region": _REGION_SELECTED,
"grid_res": _GRID_RES
},
success: function (resp) { success: function (resp) {
console.log(resp)
let data2 = resp.data["occurrences_by_taxon_" + nodo]
console.log(data2)
console.log(data2[0])
data = resp.data;
let uniqueObjArray = []
for (let i = 0; i < data2.length; i++) {
let val = data2[i];
//console.log(val)
if(uniqueObjArray.indexOf(val) === -1) {
uniqueObjArray.push(val);
}
}
let uniqueObjArray1 = [
...new Map( uniqueObjArray.map((item) => [item[next_field], item])).values(),
];
console.log(uniqueObjArray1)
let data = uniqueObjArray1
$('ul').tooltip('hide'); $('ul').tooltip('hide');
$('li').tooltip('hide'); $('li').tooltip('hide');
...@@ -1053,7 +1268,8 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -1053,7 +1268,8 @@ var variable_module = (function (verbose, url_zacatuche) {
for (i = 0; i < data.length; i++) { for (i = 0; i < data.length; i++) {
var idNode = ""; var idNode = "";
var name_variable = data[i].name var camp = data[i]
var name_variable = camp[next_field]
console.log("name_variable: " + name_variable) console.log("name_variable: " + name_variable)
...@@ -1064,11 +1280,11 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -1064,11 +1280,11 @@ var variable_module = (function (verbose, url_zacatuche) {
} else { } else {
// ._VERBOSE ? console.log("nuevo_id") : _VERBOSE; // ._VERBOSE ? console.log("nuevo_id") : _VERBOSE;
idNode = data[i].id; idNode = camp[next_field];
} }
var default_son = next_nivel < 8 ? [{text: "cargando..."}] : []; var default_son = next_nivel < 8 ? [{text: "cargando..."}] : [];
var label_taxon = next_nivel < 8 ? data[i].name + " (spp: " + data[i].spp + ")" : data[i].name; var label_taxon = next_nivel < 8 ? camp[next_field] : camp[next_field]; //" (spp: " + data[i].spp + ")"
var newNode = { var newNode = {
id: idNode, id: idNode,
...@@ -1146,9 +1362,9 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -1146,9 +1362,9 @@ var variable_module = (function (verbose, url_zacatuche) {
self.arrayVarSelected.push({label: node_temp.text, level: level, numlevel: node_temp.attr.nivel, type: node_temp.attr.type, parent: parent_node.text}); self.arrayVarSelected.push({label: node_temp.text, level: level, numlevel: node_temp.attr.nivel, type: node_temp.attr.type, parent: parent_node.text});
// if (node_temp.attr.nivel == 8) { // if (node_temp.attr.nivel == 8) {
// //
// self.arrayVarSelected.push({label: node_temp.text, level: level, numlevel: node_temp.attr.nivel, type: node_temp.attr.type, parent: parent_node.text}); // self.arrayVarSelected.push({label: node_temp.text, level: level, numlevel: node_temp.attr.nivel, type: node_temp.attr.type, parent: parent_node.text});
// //
// } // }
// else { // else {
// //
...@@ -1366,7 +1582,20 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -1366,7 +1582,20 @@ var variable_module = (function (verbose, url_zacatuche) {
_VERBOSE ? console.log("self.addOtherGroup") : _VERBOSE; _VERBOSE ? console.log("self.addOtherGroup") : _VERBOSE;
// console.log(idTree); // console.log(idTree);
// console.log(arraySelected); console.log(arraySelected);
const iterator = arraySelected.values();
for (const value of iterator) {
var variable = value
console.log(variable)
_PARENT_FIELD = variable["level"]
_LABEL_VALUE = variable["label"]
console.log(_PARENT_FIELD)
console.log(_LABEL_VALUE)
}
// console.log(gpoName); // console.log(gpoName);
// console.log(idDivContainer); // console.log(idDivContainer);
// console.log(typeVar); // console.log(typeVar);
...@@ -1379,7 +1608,7 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -1379,7 +1608,7 @@ var variable_module = (function (verbose, url_zacatuche) {
// _toastr.warning(_iTrans.prop('lb_nivel_reino')); // _toastr.warning(_iTrans.prop('lb_nivel_reino'));
// return; // return;
// } // }
var new_element = self.existsGroup(arraySelected); var new_element = self.existsGroup(arraySelected);
// _VERBOSE ? console.log(new_element) : _VERBOSE; // _VERBOSE ? console.log(new_element) : _VERBOSE;
...@@ -1633,7 +1862,7 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -1633,7 +1862,7 @@ var variable_module = (function (verbose, url_zacatuche) {
success: function (resp) { success: function (resp) {
if (resp.ok === true) { if (resp.ok === true) {
console.log(data); console.log(data);
var data = resp.data; var data = resp.data;
_available_variables = data; _available_variables = data;
...@@ -1656,7 +1885,7 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -1656,7 +1885,7 @@ var variable_module = (function (verbose, url_zacatuche) {
* @function createSelectorComponent * @function createSelectorComponent
* @public * @public
* @memberof! table_module * @memberof! table_module
* *
* @param {String} parent - Id del contenedor del selector de variables * @param {String} parent - Id del contenedor del selector de variables
* @param {String} id - Id del selector de variables * @param {String} id - Id del selector de variables
* @param {String} title - Título del selector de variables desplegado en la parte superior * @param {String} title - Título del selector de variables desplegado en la parte superior
...@@ -1681,9 +1910,9 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -1681,9 +1910,9 @@ var variable_module = (function (verbose, url_zacatuche) {
* @function _initializeVarComponents * @function _initializeVarComponents
* @private * @private
* @memberof! table_module * @memberof! table_module
* *
* @param {object} language_module - Módulo de internacionalización * @param {object} language_module - Módulo de internacionalización
* @param {integer} tipo_modulo - Tipo de módulo donde serán asignados los selectores de variables, nicho o comunidad ecológica * @param {integer} tipo_modulo - Tipo de módulo donde serán asignados los selectores de variables, nicho o comunidad ecológica
*/ */
function _initializeVarComponents(language_module, tipo_modulo, map_module) { function _initializeVarComponents(language_module, tipo_modulo, map_module) {
...@@ -1719,10 +1948,10 @@ var variable_module = (function (verbose, url_zacatuche) { ...@@ -1719,10 +1948,10 @@ var variable_module = (function (verbose, url_zacatuche) {
* @function startVar * @function startVar
* @public * @public
* @memberof! table_module * @memberof! table_module
* *
* @param {String} id - Id del selector de variables * @param {String} id - Id del selector de variables
* @param {object} language_module - Módulo de internacionalización * @param {object} language_module - Módulo de internacionalización
* @param {integer} tipo_modulo - Tipo de módulo donde serán asignados los selectores de variables, nicho o comunidad ecológica * @param {integer} tipo_modulo - Tipo de módulo donde serán asignados los selectores de variables, nicho o comunidad ecológica
*/ */
function startVar(id, language_module, tipo_modulo, map_module) { function startVar(id, language_module, tipo_modulo, map_module) {
_VERBOSE ? console.log("startVar") : _VERBOSE; _VERBOSE ? console.log("startVar") : _VERBOSE;
......
...@@ -6,7 +6,7 @@ lb_occ_min = Min. Celdas con ocurrencia (nj) ...@@ -6,7 +6,7 @@ lb_occ_min = Min. Celdas con ocurrencia (nj)
lb_apriori = A\u00f1adir a priori lb_apriori = A\u00f1adir a priori
lb_mapprob = Mapa de probabilidad lb_mapprob = Mapa de probabilidad
lb_reg_fecha = Incluir registros sin fecha lb_reg_fecha = Incluir registros sin fecha
lb_range_fecha = Filtrar por fecha lb_range_fecha = Filtrar por año
btn_regenerar = Regenerar btn_regenerar = Regenerar
lb_genera_red = Generar red lb_genera_red = Generar red
lb_info_slider = ATR: Atracci\u00f3n entre nodos lb_info_slider = ATR: Atracci\u00f3n entre nodos
......
...@@ -21,6 +21,7 @@ a_taxon = Grupos de interés ...@@ -21,6 +21,7 @@ a_taxon = Grupos de interés
a_clima = Climáticas a_clima = Climáticas
a_topo = Topográficas a_topo = Topográficas
a_raster = Raster a_raster = Raster
a_socio = Socioeconómicas
lb_occ = Ocurrencias grupo lb_occ = Ocurrencias grupo
lb_occ_celda = Área con ocurrencias del grupo (ni) lb_occ_celda = Área con ocurrencias del grupo (ni)
btn_variable = Escoge Grupo btn_variable = Escoge Grupo
...@@ -165,7 +166,7 @@ lb_fosil = Fósiles ...@@ -165,7 +166,7 @@ lb_fosil = Fósiles
lb_apriori = Añadir a priori lb_apriori = Añadir a priori
lb_mapprob = Mapa de probabilidad lb_mapprob = Mapa de probabilidad
lb_reg_fecha = Registros sin fecha lb_reg_fecha = Registros sin fecha
lb_range_fecha = Filtrar por fecha lb_range_fecha = Filtrar por año
labelFecha = {0} - {1} labelFecha = {0} - {1}
reload_map = Filtrar reload_map = Filtrar
see_species = Ver Grupo de interés see_species = Ver Grupo de interés
......
...@@ -21,6 +21,7 @@ a_taxon = Taxonomic ...@@ -21,6 +21,7 @@ a_taxon = Taxonomic
a_clima = Climatic a_clima = Climatic
a_topo = Others a_topo = Others
a_raster = Raster a_raster = Raster
a_socio = Socioeconómicas
lb_occ = Species occurrences lb_occ = Species occurrences
lb_occ_celda = Cells with species occurrences lb_occ_celda = Cells with species occurrences
btn_variable = Taxon btn_variable = Taxon
......
...@@ -164,7 +164,7 @@ lb_fosil = Fósiles ...@@ -164,7 +164,7 @@ lb_fosil = Fósiles
lb_apriori = Añadir a priori lb_apriori = Añadir a priori
lb_mapprob = Mapa de probabilidad lb_mapprob = Mapa de probabilidad
lb_reg_fecha = Registros sin fecha lb_reg_fecha = Registros sin fecha
lb_range_fecha = Filtrar por fecha lb_range_fecha = Filtrar por año
labelFecha = {0} - {1} labelFecha = {0} - {1}
reload_map = Filtrar reload_map = Filtrar
see_species = Ver especies see_species = Ver especies
......
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment