Commit 33e56229 authored by Ulises Morales Ramírez's avatar Ulises Morales Ramírez

Merge branch 'dev' of http://gitlab.geoint.mx/mario.chirinos/GeoInt_SIDT into modificaciones

parents bfc1fe9b 9559c629
.cross-range {
-webkit-appearance: none;
width: 100%;
margin: 4.05px 0;
}
.cross-range:focus {
outline: none;
}
.cross-range::-webkit-slider-runnable-track {
width: 100%;
height: 7.9px;
cursor: pointer;
box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
background: #dc7828;
border-radius: 25px;
border: 1px solid #dc7828;
}
.cross-range::-webkit-slider-thumb {
box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
border: 1px solid #000000;
height: 16px;
width: 16px;
border-radius: 50px;
background: #ffffff;
cursor: pointer;
-webkit-appearance: none;
margin-top: -5.05px;
}
.cross-range:focus::-webkit-slider-runnable-track {
background: #e0863e;
}
.cross-range::-moz-range-track {
width: 100%;
height: 7.9px;
cursor: pointer;
box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
background: #dc7828;
border-radius: 25px;
border: 1px solid #dc7828;
}
.cross-range::-moz-range-thumb {
box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
border: 1px solid #000000;
height: 16px;
width: 16px;
border-radius: 50px;
background: #ffffff;
cursor: pointer;
}
.cross-range::-ms-track {
width: 100%;
height: 7.9px;
cursor: pointer;
background: transparent;
border-color: transparent;
color: transparent;
}
.cross-range::-ms-fill-lower {
background: #ca6c21;
border: 1px solid #dc7828;
border-radius: 50px;
box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
}
.cross-range::-ms-fill-upper {
background: #dc7828;
border: 1px solid #dc7828;
border-radius: 50px;
box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
}
.cross-range::-ms-thumb {
box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
border: 1px solid #000000;
height: 16px;
width: 16px;
border-radius: 50px;
background: #ffffff;
cursor: pointer;
height: 7.9px;
}
.cross-range:focus::-ms-fill-lower {
background: #dc7828;
}
.cross-range:focus::-ms-fill-upper {
background: #e0863e;
}
#opacitySlide {
background: transparent;
padding-left: 10px;
padding-right: 10px;
}
......@@ -237,11 +237,15 @@ function drawApiResponse(element) {
if (data.uuid === element.id.replace("-li", '')) {
console.log("footprint:\n", data.product.footprint);
if (!prevfeature.has(data.uuid)){
element.style.textDecoration = 'underline';
//element.style.textDecoration = 'underline';
let divh4 = element.children[0].children[1].children[0];
divh4.innerHTML = divh4.textContent + ' <i class="fa fa-eye" style="color:green"> </i>';
prevfeature.set(data.uuid, osmap.addfootprint(data.product.footprint, prevfeature));
}else{
if (prevfeature.length != 0){
element.style.textDecoration = 'none';
//element.style.textDecoration = 'none';
let divh4 = element.children[0].children[1].children[0]
divh4.innerHTML = divh4.textContent + ' <i class="fa fa-eye-slash" style="color: #dd4b39"> </i>';
osmap.deletefootprint(prevfeature.get(data.uuid));
prevfeature.delete(data.uuid);
}
......@@ -452,14 +456,13 @@ $(document).ready(function () {
success : function (res) {
data.img = res.img;
var temp = document.querySelector('#product_list_template');
// filling template
temp.content.querySelector('.single-product-input').id = data.uuid + "-div";
temp.content.querySelector('input').value = data.uuid;
temp.content.querySelector('li').id = data.uuid + "-li";
temp.content.querySelector('h4').id = data.uuid + "-h4";
temp.content.querySelector('h4').textContent = data.product.producttype + "_" + data.product.tileid;
temp.content.querySelector('p').textContent = data.product.beginposition;
temp.content.querySelector('p').textContent = data.product.producttype + "_" + data.product.tileid;
temp.content.querySelector('h4').innerHTML = parserDate(data.product.beginposition) + ' <i class="fa fa-eye-slash" style="color: #dd4b39"> </i>';
temp.content.querySelector('img').src = "data:image/jpeg;base64, " + data.img;
temp.content.querySelectorAll('span')[1].textContent = data.product.identifier;
temp.content.querySelectorAll('span')[2].textContent = data.product.size;
......@@ -496,6 +499,12 @@ $(document).ready(function () {
});
});
function parserDate(parsedate){
let fullDate = parsedate.split('T');
let date = fullDate[0].split('-');
date = date[1] + "/" + date[2] + "/" + date[0];
return date + " " + fullDate[1].split('.')[0];
}
// adds product to cart
$('#product-to-cart-form').submit(function (event) {
......
......@@ -5,6 +5,7 @@
<link rel="stylesheet" href="{% static 'catalog/css/map.css' %}" type="text/css">
<link rel="stylesheet" href="{% static 'catalog/css/body.css' %}" type="text/css">
<link rel="stylesheet" href="{% static 'catalog/css/modal1.css' %}" type="text/css">
<link rel="stylesheet" href="{% static 'catalog/css/crossrange.css' %}" type="text/css">
<!-- <link rel="stylesheet" href="https://openlayers.org/en/v4.6.4/css/ol.css" type="text/css">-->
<link rel="stylesheet" href="https://cdn.rawgit.com/openlayers/openlayers.github.io/master/en/v5.3.0/css/ol.css">
<link rel="stylesheet" href="{% static 'catalog/css/waitingModal.css' %}" type="text/css">
......@@ -190,7 +191,8 @@
</a>
<ul class="treeview-menu sidebar-form">
<li>
<input class="form-control" type="number" value="100" name="cloudPercentage">
<input class="form-text" id="clouds" value="5" oninput="setCloudPercentageSlider(this.value)" name="cloudPercentage" disabled>
<input class="cross-range" type="range" min="0" max="100" step="1" value="5" oninput="setCloudPercentage(this.value)" id="cloudPercentageSelector" name=cloudPercentage>
</li>
</ul>
</li>
......@@ -322,6 +324,23 @@
</script>
<script>
function setCloudPercentage(clouds) {
//console.log(clouds)
document.getElementById("clouds").value=clouds;
}
function setCloudPercentageSlider(clouds) {
//console.log(clouds)
//TODO
document.getElementById("cloudPercentageSelector").value=clouds;
if(parseInt(clouds)>100){
document.getElementById("cloudPercentageSelector").value=100;
}
if(parseInt(clouds)<0){
document.getElementById("cloudPercentageSelector").value=0;
}
}
//var osmap = new OpenStreetMapsClass("map", -99.145556,19.419444, 10);
var osmap = new sidtMap("map", -89.63873079999999,21.0404457, 7);
osmap.geolocation();
......
......@@ -78,7 +78,7 @@ function addImageLayer(labelDate) {
let currentZoom = map.getView().getZoom();
// fit and zoom
map.getView().fit(ol.proj.transformExtent(data.boundingBox, 'EPSG:4326', 'EPSG:3857'))
// map.getView().fit(ol.proj.transformExtent(data.boundingBox, 'EPSG:4326', 'EPSG:3857'))
map.getView().setZoom(currentZoom);
map.getView().setMinZoom(data.zoom.min);
map.getView().setMaxZoom(data.zoom.max);
......@@ -101,7 +101,6 @@ function setOpacity(value) {
currentOpacity = value;
imageLayers.forEach(layer => {
if(layer.get('name') != 'mapbox' && layer.get('name') != 'polygon' && layer.get('name') != 'TCI') {
console.log(layer.get('name'), layer);
layer.setOpacity(value)
}
})
......@@ -119,6 +118,28 @@ function getSelectedCheckbox() {
return values;
}
$("input[name=layer_type]").on( "click", () => {
function getDataIndexByCheckboxId(dataset, id) {
let foundIndex;
dataset.forEach(function (data, index) {
let label = 'sclcheck-' + data.label.toLowerCase().replace(' ', '-');
if (label === id) {
foundIndex = index;
}
})
return foundIndex;
}
$('input[name=layer_type]').on('click', function(){
const input = $(this);
const dataset = myChart.config.data.datasets;
const index = getDataIndexByCheckboxId(dataset, input.parent().attr('id'));
if (index > -1) {
myChart.getDatasetMeta(index).hidden=!input.prop("checked");
myChart.update()
}
addImageLayer(currentDate);
});
......@@ -3,6 +3,7 @@ var ctx = document.getElementById('myChart').getContext('2d');
//ctx.canvas.width = 256;
//ctx.canvas.height = 512;
var myChart = new Chart(ctx, config);
//var activePoints = [];
var activePoints = config.data.labels;
var imageNumber = 0;
......@@ -18,15 +19,9 @@ config.data.datasets.forEach(function (layer) {
// mostrar imagen al dar click en los puntos
document.getElementById("myChart").onclick = function (evt) {
stop();
console.log("on click")
console.log("evento: ")
console.log(evt)
// activePoints = myChart.getElementsAtEvent(evt);
var activePoint = myChart.getElementAtEvent(evt);
console.log("activePoint: ")
console.log(activePoint)
console.log(activePoint.length)
if(activePoint.length>0){
var firstPoint = activePoint[0];
......
......@@ -166,72 +166,72 @@
TCI
</label>
</div>
<!-- <div class="form-check submenu">
<input class="form-check-input" type="checkbox" name="layer_type" value="SCL_0" id="sclcheck">
<label class="form-check-label" for="sclcheck">
<div class="form-check submenu" style="display:none" id="sclcheck-no-data">
<input class="form-check-input" type="checkbox" name="layer_type" value="SCL_0">
<label class="form-check-label">
<i class="fa fa-circle" aria-hidden="true" style="color: #383838"></i>
&nbspSCL No Data
</label>
</div> -->
<div class="form-check submenu">
<input class="form-check-input" type="checkbox" name="layer_type" value="SCL_1" id="sclcheck">
<label class="form-check-label" for="sclcheck">
</div>
<div class="form-check submenu" style="display:none" id="sclcheck-saturated">
<input class="form-check-input" type="checkbox" name="layer_type" value="SCL_1">
<label class="form-check-label">
<i class="fa fa-circle" aria-hidden="true" style="color: #de3d3d"></i>
&nbspSCL Saturated
</label>
</div>
<div class="form-check submenu">
<input class="form-check-input" type="checkbox" name="layer_type" value="SCL_2" id="sclcheck">
<label class="form-check-label" for="sclcheck">
<div class="form-check submenu" style="display:none" id="sclcheck-shadows">
<input class="form-check-input" type="checkbox" name="layer_type" value="SCL_2">
<label class="form-check-label">
<i class="fa fa-circle" aria-hidden="true" style="color: #696767"></i>
&nbspSCL Shadows
</label>
</div>
<div class="form-check submenu">
<input class="form-check-input" type="checkbox" name="layer_type" value="SCL_3" id="sclcheck">
<label class="form-check-label" for="sclcheck">
<div class="form-check submenu" style="display:none" id="sclcheck-cloud-shadows">
<input class="form-check-input" type="checkbox" name="layer_type" value="SCL_3">
<label class="form-check-label">
<i class="fa fa-circle" aria-hidden="true" style="color: #98775b"></i>
&nbspSCL Cloud Shadows
</label>
</div>
<div class="form-check submenu">
<input class="form-check-input" type="checkbox" name="layer_type" value="SCL_4" id="sclcheck">
<label class="form-check-label" for="sclcheck">
<div class="form-check submenu" style="display:none" id="sclcheck-vegetation">
<input class="form-check-input" type="checkbox" name="layer_type" value="SCL_4">
<label class="form-check-label">
<i class="fa fa-circle" aria-hidden="true" style="color: #44ba5d"></i>
&nbspSCL Vegetation
</label>
</div>
<div class="form-check submenu">
<input class="form-check-input" type="checkbox" name="layer_type" value="SCL_5" id="sclcheck">
<label class="form-check-label" for="sclcheck">
<div class="form-check submenu" style="display:none" id="sclcheck-not-vegetated">
<input class="form-check-input" type="checkbox" name="layer_type" value="SCL_5">
<label class="form-check-label">
<i class="fa fa-circle" aria-hidden="true" style="color: #fff98b"></i>
&nbspSCL Not-Vegetated
</label>
</div>
<div class="form-check submenu">
<input class="form-check-input" type="checkbox" name="layer_type" value="SCL_6" id="sclcheck">
<label class="form-check-label" for="sclcheck">
<div class="form-check submenu" style="display:none" id="sclcheck-water">
<input class="form-check-input" type="checkbox" name="layer_type" value="SCL_6">
<label class="form-check-label">
<i class="fa fa-circle" aria-hidden="true" style="color: #659acc"></i>
&nbspSCL Water
</label>
</div>
<div class="form-check submenu">
<input class="form-check-input" type="checkbox" name="layer_type" value="SCL_7" id="sclcheck">
<label class="form-check-label" for="sclcheck">
<div class="form-check submenu" style="display:none" id="sclcheck-unclassified">
<input class="form-check-input" type="checkbox" name="layer_type" value="SCL_7">
<label class="form-check-label">
<i class="fa fa-circle" aria-hidden="true" style="color: #ababab"></i>
&nbspSCL Unclassified
</label>
</div>
<div class="form-check submenu">
<input class="form-check-input" type="checkbox" name="layer_type" value="SCL_8" id="sclcheck">
<label class="form-check-label" for="sclcheck">
<div class="form-check submenu" style="display:none" id="sclcheck-clouds">
<input class="form-check-input" type="checkbox" name="layer_type" value="SCL_8">
<label class="form-check-label">
<i class="fa fa-circle" aria-hidden="true" style="color: #dddddd"></i>
&nbspSCL Clouds
</label>
</div>
<div class="form-check submenu">
<input class="form-check-input" type="checkbox" name="layer_type" value="SCL_9" id="sclcheck">
<label class="form-check-label" for="sclcheck">
<div class="form-check submenu" style="display:none" id="sclcheck-snow">
<input class="form-check-input" type="checkbox" name="layer_type" value="SCL_9">
<label class="form-check-label">
<i class="fa fa-circle" aria-hidden="true" style="color: #ff8afa"></i>
&nbspSCL Snow
</label>
......
......@@ -324,20 +324,25 @@
<script>
var defaultLegendClickHandler = Chart.defaults.global.legend.onClick;
var newLegendClickHandler = function (e, legendItem) {
var index = legendItem.datasetIndex;
//console.log(e)
console.log(legendItem.datasetIndex)
console.log(legendItem.text)
var ch = this.chart;
var meta = ch.getDatasetMeta(index);
console.log(meta.hidden)
var layer = legendItem.text.toLowerCase();
//layer = layer.replace(" ", "_");
layer = layer.replace(/\s/g, '_'); //reeemplaza los espacios con guion bajo
console.log(layer)
var layer = legendItem.text.toLowerCase().replace(/\s/g, '-');
let checkbox_id = '#sclcheck-'+layer;
var activePoint = ch.getElementAtEvent(e);
// isDatasetVisible return the opposite status?
// change checkbox in imagelayer
$(checkbox_id+" :input").prop("checked", !ch.isDatasetVisible(index));
addImageLayer(currentDate);
// myChart.config.data.datasets
// myChart.getDatasetMeta(4).hidden=true
//console.log(document.getElementById("titleMap").textContent)
// var label = document.getElementById("titleMap").textContent; //obtiene la fecha que se está viendo
// label = label.replace(/\//g,''); // reemplaza los diagonales por nada
......@@ -362,6 +367,18 @@
//}
};
var showSCLcheckboxes = function(datasets) {
if (!datasets || datasets.length < 1) {
return;
}
datasets.forEach(function(data) {
let checkbox_id = '#sclcheck-'+data.label.toLowerCase().replace(' ','-');
$(checkbox_id).show();
$(checkbox_id+" :input").prop("checked", false);
});
}
var label;
// Recibimos el JSON con los datos desde el View
{% autoescape off %}
......@@ -388,7 +405,8 @@
onClick: newLegendClickHandler,
}
};
console.log(config);
showSCLcheckboxes(config.data.datasets);
{% endautoescape %}
</script>
<script type="text/javascript" src="{% static 'reports/js/reportImg.js' %}"></script>
......
......@@ -539,7 +539,7 @@ def ProcessChartData(path):
item['label'] = labelNames[int(l)]
# item['fill'] = "false"
if l == "0":
# if l == "0":
item['hidden'] = "true"
item['data'] = [v[l] * 60 * 60 / 1000000. if (l in v) else 0 for k, v in sorted(json_data.items())]
item['backgroundColor'] = colors[int(l)]
......
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