summaryrefslogtreecommitdiff
path: root/chimere/templates
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/templates')
-rw-r--r--chimere/templates/base.html2
-rw-r--r--chimere/templates/chimere/base.html4
-rw-r--r--chimere/templates/chimere/blocks/footer.html2
-rw-r--r--chimere/templates/chimere/blocks/head_chimere.html1
-rw-r--r--chimere/templates/chimere/blocks/live_coordinates.html52
-rw-r--r--chimere/templates/chimere/blocks/map.html12
-rw-r--r--chimere/templates/chimere/main_map.html18
-rw-r--r--chimere/templates/search/indexes/chimere/marker_text.txt3
-rw-r--r--chimere/templates/search/indexes/chimere/route_text.txt1
-rw-r--r--chimere/templates/search/search.html54
10 files changed, 122 insertions, 27 deletions
diff --git a/chimere/templates/base.html b/chimere/templates/base.html
index 619aa0b..a346878 100644
--- a/chimere/templates/base.html
+++ b/chimere/templates/base.html
@@ -3,6 +3,8 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>{% block title %}{{PROJECT_NAME}}{% endblock %}</title>
+ {% if MOBILE %}<meta name="apple-mobile-web-app-capable" content="yes">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">{% endif %}
{% block extra_head %}
{% endblock %}
</head>
diff --git a/chimere/templates/chimere/base.html b/chimere/templates/chimere/base.html
index 0a5818f..9cc7870 100644
--- a/chimere/templates/chimere/base.html
+++ b/chimere/templates/chimere/base.html
@@ -5,6 +5,9 @@
<link rel="stylesheet" href="{{ STATIC_URL }}chimere/css/print.css" media='print'/>
{% if css_map %}
<link rel="stylesheet" href="{{ css_map }}" />{% endif %}
+{% if MOBILE %}
+<link rel="stylesheet" href="{{ STATIC_URL }}chimere/css/mobile.css" />
+<script src="{{ STATIC_URL }}chimere/js/mobile.chimere.js" type="text/javascript"></script>{%endif%}
{% endblock %}
{% block header %}
<noscript>
@@ -21,6 +24,7 @@
{% endblock %}
{% block content %}
{% block top %}{% endblock %}
+ {% if has_search %} {% block search_box %}{% endblock %} {% endif %}
{% block message_map %}{% endblock %}
{% block message_edit %}{% endblock %}
{% block bottom %}{% endblock %}
diff --git a/chimere/templates/chimere/blocks/footer.html b/chimere/templates/chimere/blocks/footer.html
index d895f88..8958939 100644
--- a/chimere/templates/chimere/blocks/footer.html
+++ b/chimere/templates/chimere/blocks/footer.html
@@ -1,3 +1,3 @@
{% load i18n %}
-{% trans "This site uses Chimère"%} - <img src="{{STATIC_URL}}chimere/img/copyleft.png" alt="copyleft"/> 2008-2013 <a href='http://blog.peacefrogs.net/nim/chimere/'>Chimère project</a> - {% trans "Map"%} <img src="{{STATIC_URL}}chimere/img/copyleft.png" alt="copyleft"/> <a href='http://openstreetmap.org/'>OpenStreetMap</a>
+{% trans "This site uses Chimère"%} <img src="{{STATIC_URL}}chimere/img/copyleft.png" alt="copyleft"/> 2008-2014 <a href='http://www.chymeres.net/'>Chimère project</a> - {% trans "Map"%} <img src="{{STATIC_URL}}chimere/img/copyleft.png" alt="copyleft"/> <a href='http://openstreetmap.org/'>OpenStreetMap</a>
diff --git a/chimere/templates/chimere/blocks/head_chimere.html b/chimere/templates/chimere/blocks/head_chimere.html
index 12a468a..133192c 100644
--- a/chimere/templates/chimere/blocks/head_chimere.html
+++ b/chimere/templates/chimere/blocks/head_chimere.html
@@ -1,5 +1,6 @@
{% for css_url, condition in MAP_CONDITIONNAL_CSS_URLS %}
{% if condition %}<!--[if {{condition}}]>{%endif%}<link rel="stylesheet" href="{{ css_url }}" />{% if condition %}<![endif]-->{%endif%}{% endfor %}
+{% if enable_clustering %}<script src="{{ STATIC_URL }}chimere/js/clustering.js" type="text/javascript"></script>{% endif %}
{% for js_url in MAP_JS_URLS %}
<script src="{{ js_url }}" type="text/javascript"></script>{% endfor %}
{% if routing %}<script src="{{ STATIC_URL }}chimere/js/routing-widget.js" type="text/javascript"></script>{% endif %}
diff --git a/chimere/templates/chimere/blocks/live_coordinates.html b/chimere/templates/chimere/blocks/live_coordinates.html
index 3ce34bf..82166c8 100644
--- a/chimere/templates/chimere/blocks/live_coordinates.html
+++ b/chimere/templates/chimere/blocks/live_coordinates.html
@@ -7,6 +7,7 @@
var CENTER_LONLAT = centerLonLat = new OpenLayers.LonLat%s.transform(epsg_display_projection, epsg_projection);
var DEFAULT_ZOOM = %s;
var chimere_init_options = {};
+ chimere_init_options["input_id"] = 'id_{{name}}';
chimere_init_options["default_icon"] = new OpenLayers.Icon('%schimere/img/marker-green.png', new OpenLayers.Size(21, 25), new OpenLayers.Pixel(-(21/2), -25));
chimere_init_options["map_layers"] = [%s];
chimere_init_options['dynamic_categories'] = false;
@@ -19,37 +20,40 @@
<div id='live_lonlat'>
<p>
<label for='live_latitude'>{{lat}}</label>
- <input type='texte' name='live_latitude' id='live_latitude' size='8' adisabled='true' value='{{value_y|stringformat:"f"}}'/>
+ <input type='text' name='live_latitude' id='live_latitude' size='8' adisabled='true' value='{{value_y|stringformat:"f"}}'/>
</p>
<p>
<label for='live_longitude'>{{lon}}</label>
- <input type='texte' name='live_longitude' id='live_longitude' size='8' adisabled='true' value='{{value_x|stringformat:"f"}}'/>
+ <input type='text' name='live_longitude' id='live_longitude' size='8' adisabled='true' value='{{value_x|stringformat:"f"}}'/>
</p>
<input type='hidden' name='{{name}}' id='id_{{name}}' value='{{val}}'/>
</div>
<script type="text/javascript">
- $('#map_edit').chimere(chimere_init_options);
- {% if isvalue %}
- var mylonlat = new OpenLayers.LonLat({{value_x|stringformat:"f"}},
- {{value_y|stringformat:"f"}});
- $("#map_edit").chimere(
- "putEditMarker",
- mylonlat.transform(EPSG_DISPLAY_PROJECTION, EPSG_PROJECTION),
- true);
- {% endif %}
- $('#live_latitude').change(function() {
- var mylonlat = new OpenLayers.LonLat($('#live_longitude').val(),
- $('#live_latitude').val());
- $("#map_edit").chimere("putEditMarker",
- mylonlat.transform(EPSG_DISPLAY_PROJECTION, EPSG_PROJECTION), false);
- $("#map_edit").chimere("settings").map.setCenter(mylonlat);
- });
- $('#live_longitude').change(function() {
- var mylonlat = new OpenLayers.LonLat($('#live_longitude').val(),
- $('#live_latitude').val());
- $("#map_edit").chimere("putEditMarker",
- mylonlat.transform(EPSG_DISPLAY_PROJECTION, EPSG_PROJECTION), false);
- $("#map_edit").chimere("settings").map.setCenter(mylonlat);
+ function init_map_edit(){
+ $('#map_edit').chimere(chimere_init_options);
+ {% if isvalue %}
+ var mylonlat = new OpenLayers.LonLat({{value_x|stringformat:"f"}},
+ {{value_y|stringformat:"f"}});
+ $("#map_edit").chimere(
+ "putEditMarker",
+ mylonlat.transform(EPSG_DISPLAY_PROJECTION, EPSG_PROJECTION),
+ true);
+ {% endif %}
+ $('#live_latitude').change(function() {
+ var mylonlat = new OpenLayers.LonLat($('#live_longitude').val(),
+ $('#live_latitude').val());
+ $("#map_edit").chimere("putEditMarker",
+ mylonlat.transform(EPSG_DISPLAY_PROJECTION, EPSG_PROJECTION), false);
+ $("#map_edit").chimere("settings").map.setCenter(mylonlat);
+ });
+ $('#live_longitude').change(function() {
+ var mylonlat = new OpenLayers.LonLat($('#live_longitude').val(),
+ $('#live_latitude').val());
+ $("#map_edit").chimere("putEditMarker",
+ mylonlat.transform(EPSG_DISPLAY_PROJECTION, EPSG_PROJECTION), false);
+ $("#map_edit").chimere("settings").map.setCenter(mylonlat);
});
+ }
+ {% if initialized %}init_map_edit();{% endif %}
</script>
diff --git a/chimere/templates/chimere/blocks/map.html b/chimere/templates/chimere/blocks/map.html
index 262c7f2..0c99b64 100644
--- a/chimere/templates/chimere/blocks/map.html
+++ b/chimere/templates/chimere/blocks/map.html
@@ -1,7 +1,13 @@
{% load i18n %}
<div id='{{map_id}}'></div>
<script type="text/javascript">
- $("#{{map_id}}").show();
+$("#{{map_id}}").show();
+$(function(){
+ $('#cluster_list').dialog({'autoOpen':false,
+ 'resizable':false,
+ 'width':340,
+ 'dialogClass':'no-titlebar'});
+});
</script>
<div id="waiting">
<div id="waiting-content">
@@ -22,6 +28,8 @@
if (typeof simple != 'undefined'){
chimere_init_options['simple'] = simple;
}
+ {% if MOBILE %}chimere_init_options["mobile"] = true;{% endif %}
+ {% if enable_clustering %}chimere_init_options["enable_clustering"] = true;{% endif %}
chimere_init_options["default_icon"] = '{{STATIC_URL}}img/marker-green.png';
chimere_init_options["map_layers"] = [{{js_map_layers|safe|escape}}];
chimere_init_options["map_layer_names"] = [{{js_map_layer_names|safe|escape}}];
@@ -88,3 +96,5 @@
});
</script>
<div id='marker_hover'><div id='marker_hover_content'></div></div>
+<div id='cluster_list'></div>
+
diff --git a/chimere/templates/chimere/main_map.html b/chimere/templates/chimere/main_map.html
index b6a0774..7f19e79 100644
--- a/chimere/templates/chimere/main_map.html
+++ b/chimere/templates/chimere/main_map.html
@@ -5,6 +5,9 @@
{% head_jquery %}
{% head_chimere %}
{% head_jme %}
+{% if has_search %}
+<script src="{{ STATIC_URL }}chimere/js/search.js" type="text/javascript"></script>
+<script src="{{ STATIC_URL }}chimere/js/search-autocomplete.js" type="text/javascript"></script>{% endif %}
{{ block.super }}
{% endblock %}
{% block message_edit %}{% endblock %}
@@ -49,6 +52,10 @@
</div>
<div id='detail' class='ui-widget ui-corner-all'></div>
{% endblock %}
+{% block search_box %}
+<div id='search-box' class='ui-widget ui-corner-all'>
+</div>
+{% endblock %}
{% block content %}
{{block.super}}
<div id='main-map'></div>
@@ -59,7 +66,16 @@
{% map 'main-map' %}
<div id='chimere_message'></div>
<script type='text/javascript'>
- $(function(){$('#chimere_message').dialog({'autoOpen':false});});
+ var has_search = {% if has_search %}true{% else %}false{% endif %};
+ // array to keep trace of already displayed items
+ var search_result = new Array();
+ var search_url = "/search/";
+ $(function(){
+ $('#chimere_message').dialog({'autoOpen':false});
+ if (has_search){
+ load_search_box();
+ }
+ });
</script>
{% endblock %}
{% block footer %}
diff --git a/chimere/templates/search/indexes/chimere/marker_text.txt b/chimere/templates/search/indexes/chimere/marker_text.txt
new file mode 100644
index 0000000..ad5bae1
--- /dev/null
+++ b/chimere/templates/search/indexes/chimere/marker_text.txt
@@ -0,0 +1,3 @@
+{% load unescape %}
+{{object.name}}
+{{object.description|safe|striptags|unescape}}
diff --git a/chimere/templates/search/indexes/chimere/route_text.txt b/chimere/templates/search/indexes/chimere/route_text.txt
new file mode 100644
index 0000000..2fad18d
--- /dev/null
+++ b/chimere/templates/search/indexes/chimere/route_text.txt
@@ -0,0 +1 @@
+{{object.name}}
diff --git a/chimere/templates/search/search.html b/chimere/templates/search/search.html
new file mode 100644
index 0000000..b40359a
--- /dev/null
+++ b/chimere/templates/search/search.html
@@ -0,0 +1,54 @@
+{% load url from future %}{% load i18n %}
+{% if query %}
+<script type='text/javascript'>
+var geo_objects = [{% for result in page.object_list %}{{result.object.getGeoJSON|safe}}{% if not forloop.last %}, {% endif %}{% endfor %}];
+var geo_features = {};
+for (idx=0 ; idx < geo_objects.length ; idx++){
+ var c_idx = geo_objects[idx].properties.pk;
+ if (search_result.indexOf(c_idx) == -1){
+ search_result.push(c_idx);
+ geo_features[c_idx] = $('#main-map').chimere('addMarker',
+ geo_objects[idx]);
+ }
+}
+{% if page.object_list.count %}$("#main-map").chimere("zoomToMarkerExtent");{% endif %}
+</script>
+<div id='search-listing'>
+ <ul>
+{% for result in page.object_list %}
+ <li>
+ <img src='{{MEDIA_URL}}{{result.object.default_category.icon.image}}'/><a href="#" onclick="$('#main-map').chimere('showPopup', {{result.object.pk}});return false;">{{ result.object }}</a>
+ </li>
+{% empty %}
+ <li>{% trans "No results found." %}</li>
+{% endfor %}
+ </ul>
+</div>
+{% if page.has_previous or page.has_next %}
+ <div id='search-nav'>
+ {% if page.has_previous %}<a href="#" onclick="haystack_search(this, {{ page.previous_page_number }});">{% trans "Previous" %}</a>{% endif %}
+ {% if page.has_next %}<a href="#" onclick="haystack_search(this, {{ page.next_page_number }});">{% trans "More results..." %}</a>{% endif %}
+ </div>
+{% endif %}
+
+{% else %}
+<form id='search-form' class='autocomplete-me'>
+ <input type="text" id="id_q" name="q" autocomplete="off"/>
+ <button name='haystack-search' id='haystack-search' type='button' disabled='disabled' class="btn btn-default">{% trans "Search" %}</button>
+</form>
+<div id='search-result'></div>
+<script type='text/javascript'>
+no_result_message = "{% trans 'No exact match.' %}";
+$(function(){
+ $('#haystack-search').click(
+ function(evt){
+ $("#main-map").chimere("razMap");
+ haystack_search(evt);
+ });
+ window.autocomplete = new Autocomplete({
+ form_selector: '.autocomplete-me'
+ });
+ window.autocomplete.setup();
+});
+</script>
+{% endif %}