diff options
| -rw-r--r-- | ishtar_common/static/js/ishtar-map.js | 36 | ||||
| -rw-r--r-- | ishtar_common/templates/ishtar/blocks/sheet_geo_items.html | 60 | ||||
| -rw-r--r-- | ishtar_common/templates/ishtar/blocks/sheet_simple_map.html | 62 | 
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 %} | 
