summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentinAndre <quentin.andre@imt-atlantique.net>2021-08-14 01:08:04 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2021-09-01 12:36:46 +0200
commite2610c0807a43dea415584b28344b2c84aa2c3ab (patch)
tree3f7378ea4a841ee83b692368c8ed8cac7cfd4091
parentd9cc2608a98099a4fc9f0801fa0e8f14573da598 (diff)
downloadIshtar-e2610c0807a43dea415584b28344b2c84aa2c3ab.tar.bz2
Ishtar-e2610c0807a43dea415584b28344b2c84aa2c3ab.zip
with checkbox buttons
-rw-r--r--ishtar_common/static/js/ishtar-map.js36
-rw-r--r--ishtar_common/templates/ishtar/blocks/sheet_geo_items.html60
-rw-r--r--ishtar_common/templates/ishtar/blocks/sheet_simple_map.html62
3 files changed, 96 insertions, 62 deletions
diff --git a/ishtar_common/static/js/ishtar-map.js b/ishtar_common/static/js/ishtar-map.js
index 56694772b..4d6ebcd48 100644
--- a/ishtar_common/static/js/ishtar-map.js
+++ b/ishtar_common/static/js/ishtar-map.js
@@ -619,12 +619,12 @@ var display_map = function(map_id, points, lines_and_polys, layers){
} else {
initialize_base_map(map_id, layers);
}
- console.log('map init')
- console.log(map[map_id]);
+ //console.log('map init')
+ //console.log(map[map_id]);
display_points(map_id, points);
display_lines_and_polys(map_id, lines_and_polys);
- console.log('map after points');
- console.log(map[map_id]);
+ //console.log('map after points');
+ //console.log(map[map_id]);
init_popup(map_id);
@@ -637,8 +637,8 @@ var display_map = function(map_id, points, lines_and_polys, layers){
};
var display_points = function(map_id, points){
- console.log('points');
- console.log(points);
+ //console.log('points');
+ //console.log(points);
if (!points) return;
point_features[map_id] = geojson_format.readFeatures(points);
enable_clustering(map_id);
@@ -667,8 +667,8 @@ var display_lines_and_polys = function(map_id, lines_and_polys){
}
};
-var disp_geo_items = function(map_id, base_url, slug, pk,
- display_both, get_poly) {
+var display_geo_items = function(map_id, base_url, slug, pk,
+ disp_cr, disp_bf, get_poly) {
var url = base_url;
if (slug === "operation") {
url += "?operation_pk=";
@@ -683,7 +683,7 @@ var disp_geo_items = function(map_id, base_url, slug, pk,
httpRequest.onreadystatechange = function() {
if (httpRequest.readyState === XMLHttpRequest.DONE) {
if (httpRequest.status === 200) {
- geo_items = to_geo_items(JSON.parse(httpRequest.responseText), slug, display_both)
+ geo_items = to_geo_items(JSON.parse(httpRequest.responseText), slug, disp_cr, disp_bf)
if (current_test) {
geo_items_features[map_id] = [];
}
@@ -718,17 +718,19 @@ var disp_geo_items = function(map_id, base_url, slug, pk,
httpRequest.send();
};
-var to_geo_items = function (obj, slug, display_both) {
- var objects = {'context-records': [], 'base-finds': []};
+var to_geo_items = function (obj, slug, disp_cr, disp_bf) {
+ const objects = {'context-records': [], 'base-finds': []};
if (slug === "operation") {
- var crs = obj['properties']['context-records'];
- for (cr of crs['features']) {
- if (display_both) {
+ const crs = obj['properties']['context-records'];
+ for (const cr of crs['features']) {
+ if (disp_bf) {
objects['base-finds'].push(cr['properties']['base-finds'])
}
delete cr['properties'];
}
- objects['context-records'].push(crs);
+ if (disp_cr) {
+ objects['context-records'].push(crs);
+ }
}
else {
objects['base-finds'].push(obj['properties']['base-finds'])
@@ -778,8 +780,8 @@ var get_associated_context_record_style = function (feature) {
};
var display_associated_points = function (map_id, points, slug) {
- console.log('geo items points')
- console.log(points);
+ //console.log('geo items points')
+ //console.log(points);
/*_point_features = geojson_format.readFeatures(points);
_cluster_source = new ol.source.Cluster({
distance: 40,
diff --git a/ishtar_common/templates/ishtar/blocks/sheet_geo_items.html b/ishtar_common/templates/ishtar/blocks/sheet_geo_items.html
index 99fc7b866..3d76a5aa5 100644
--- a/ishtar_common/templates/ishtar/blocks/sheet_geo_items.html
+++ b/ishtar_common/templates/ishtar/blocks/sheet_geo_items.html
@@ -3,39 +3,61 @@
<dl class="col-12">
<dt>{% trans "Display geo items" %}</dt>
<dd>
- <label for="display-geo-items">{% trans "Display associated features: " %}</label>
- <select name="display-geo-items" id="display-geo-items">
- <option value="" selected="selected">{% trans "None" %}</option>
+ <fieldset>
{% if geo_item.SLUG == "operation" %}
- <option id="disp-context-records" value="contextrecords">{% trans "Context records" %}</option>
- <option value="basefinds">{% trans "Everything" %}</option>
+ <input type="checkbox" name="display-cr-for-ope" id="display-cr-for-ope">
+ <label for="display-cr-for-ope">{% trans "Display context records" %}</label>
+ <input type="checkbox" name="display-bf-for-ope" id="display-bf-for-ope">
+ <label for="display-bf-for-ope">{% trans "Display base finds" %}</label>
{% else %}
- <option value="basefinds">{% trans "Base finds" %}</option>
+ <input type="checkbox" name="display-bf-for-cr" id="display-bf-for-cr">
+ <label for="display-bf-for-cr">{% trans "Display base finds" %}</label>
{% endif %}
- </select>
+ </fieldset>
</dd>
<dd>
- <label for="get-polygons" id="label-get-polygons">{% trans "Geometry: " %}</label>
- <select name="get-polygons" id="get-polygons">
+ {% if geo_item.SLUG == "operation" %}
+ <label for="get-poly-ope" id="label-get-poly-ope">{% trans "Geometry: " %}</label>
+ <select name="get-poly-ope" id="get-poly-ope">
+ <option value="polygons" selected="selected">{% trans "Display polygons" %}</option>
+ <option value="points">{% trans "Display points" %}</option>
+ </select>
+ {% else %}
+ <label for="get-poly-cr" id="label-get-poly-cr">{% trans "Geometry: " %}</label>
+ <select name="get-poly-cr" id="get-poly-cr">
<option value="polygons" selected="selected">{% trans "Display polygons" %}</option>
<option value="points">{% trans "Display points" %}</option>
</select>
+ {% endif %}
</dd>
</dl>
<script>
-var hide_get_polygons = function() {
- var disp = $("#display-geo-items");
- var get_poly = $("#get-polygons");
- var label = $("#label-get-polygons");
+const hide_get_polygons = function() {
+ {% if geo_item.SLUG == "operation" %}
+ const disp_cr = $("#display-cr-for-ope");
+ const disp_bf = $("#display-bf-for-ope");
+ const get_poly = $("#get-poly-ope");
+ const label = $("#label-get-poly-ope");
+ {% else %}
+ const disp_cr = null;
+ const disp_bf = $("#display-bf-for-cr");
+ const get_poly = $("#get-poly-cr");
+ const label = $("#label-get-poly-cr");
+ {% endif %}
get_poly.hide();
label.hide();
- disp.change( function () {
- if (disp.val() === "") {
+ const display_get_poly = function () {
+ if (disp_bf.prop('checked') || ((disp_cr != null) && disp_cr.prop('checked'))) {
+ get_poly.show();
+ label.show();
+ } else {
get_poly.hide();
- label.hide();
- } else { get_poly.show();
- label.show();}
- })
+ label.hide();}
+ }
+ if (disp_cr != null) {
+ disp_cr.change( display_get_poly );
+ }
+ disp_bf.change( display_get_poly )
}
hide_get_polygons();
diff --git a/ishtar_common/templates/ishtar/blocks/sheet_simple_map.html b/ishtar_common/templates/ishtar/blocks/sheet_simple_map.html
index e8a33ae68..b44eb5724 100644
--- a/ishtar_common/templates/ishtar/blocks/sheet_simple_map.html
+++ b/ishtar_common/templates/ishtar/blocks/sheet_simple_map.html
@@ -6,57 +6,67 @@
<div id="map-content-{{window_id}}-{{geo_item.SLUG}}-{{geo_item.pk}}"></div>
</div>
<script type="text/javascript">
-var disp_map = function() {
- var html = render_map("map-{{window_id}}-{{geo_item.SLUG}}-{{geo_item.pk}}", false, true);
+const disp_map = function() {
+ const html = render_map("map-{{window_id}}-{{geo_item.SLUG}}-{{geo_item.pk}}", false, true);
$("#map-content-{{window_id}}-{{geo_item.SLUG}}-{{geo_item.pk}}").html(html);
{% if geo_item.most_precise_geo == 'point' %}
- var {{geo_item.SLUG}}{{geo_item.pk}} = {{geo_item.point_2d_geojson|safe}};
+ const {{geo_item.SLUG}}{{geo_item.pk}} = {{geo_item.point_2d_geojson|safe}};
display_map("map-{{window_id}}-{{geo_item.SLUG}}-{{geo_item.pk}}", {{geo_item.SLUG}}{{geo_item.pk}});
{% else %}
- var {{geo_item.SLUG}}{{geo_item.pk}} = {{geo_item.multi_polygon_geojson|safe}};
+ const {{geo_item.SLUG}}{{geo_item.pk}} = {{geo_item.multi_polygon_geojson|safe}};
display_map("map-{{window_id}}-{{geo_item.SLUG}}-{{geo_item.pk}}", null, {{geo_item.SLUG}}{{geo_item.pk}});
{% endif %}
}
disp_map();
{% if geo_item.SLUG == "operation" or geo_item.SLUG == "contextrecord" %}
-var display_geo_items = function(disp, get_polygons) {
- var display_both = false;
- if ((disp === "basefinds") && ("{{geo_item.SLUG}}" === "operation")) {
- display_both = true;
- }
- var url = null;
- var get_poly = (get_polygons === "polygons");
+const disp_geo_items = function(disp_cr, disp_bf, get_polygons) {
+ const get_poly = (get_polygons === "polygons");
+ let url = null;
if (get_poly) {
url = "{% url 'api-get-geo-polygons' %}";
}
else {
url = "{% url 'api-get-geo-points' %}";
}
- disp_geo_items("map-{{window_id}}-{{geo_item.SLUG}}-{{geo_item.pk}}", url, "{{geo_item.SLUG}}",
- "{{geo_item.pk}}", display_both, get_poly);
+ display_geo_items("map-{{window_id}}-{{geo_item.SLUG}}-{{geo_item.pk}}", url, "{{geo_item.SLUG}}",
+ "{{geo_item.pk}}", disp_cr, disp_bf, get_poly);
}
-var geo_items_displayed_once = false;
-var disp = $("#display-geo-items");
-var get_polygons = $("#get-polygons");
-disp.change( function () {
+let geo_items_displayed_once = false;
+{% if geo_item.SLUG == "operation" %}
+const disp_cr = $("#display-cr-for-ope");
+const disp_bf = $("#display-bf-for-ope");
+const get_polygons = $("#get-poly-ope");
+const event_func_disp_geo_items = function () {
if (geo_items_displayed_once) {
disp_map();
}
- if (disp.val() !== "") {
- display_geo_items(disp.val(), get_polygons.val());
- geo_items_displayed_once = true;
- }
+ else { geo_items_displayed_once = true; }
+ disp_geo_items(disp_cr.prop('checked'), disp_bf.prop('checked'), get_polygons.val());
+}
+disp_cr.change( event_func_disp_geo_items );
+disp_bf.change( event_func_disp_geo_items );
+get_polygons.change( function () {
+ disp_map();
+ disp_geo_items(disp_cr.prop('checked'), disp_bf.prop('checked'), get_polygons.val());
})
+{% else %}
+const disp_bf = $("#display-bf-for-cr");
+const get_polygons = $("#get-poly-cr");
+const event_func_disp_geo_items = function () {
+ if (geo_items_displayed_once) {
+ disp_map();
+ }
+ else { geo_items_displayed_once = true; }
+ disp_geo_items(false, disp_bf.prop('checked'), get_polygons.val());
+}
+disp_bf.change( event_func_disp_geo_items );
get_polygons.change( function () {
disp_map();
- display_geo_items(disp.val(), get_polygons.val());
+ disp_geo_items(false, disp_bf.prop('checked'), get_polygons.val());
})
-console.log('points with base points');
-display_associated_points("map-{{window_id}}-{{geo_item.SLUG}}-{{geo_item.pk}}",
- {{geo_item.point_2d_geojson|safe}}, "{{geo_item.SLUG}}");
-
+{% endif %}
{% endif %}
</script>
{% endif %}