diff options
Diffstat (limited to 'chimere/templates')
| -rw-r--r-- | chimere/templates/base.html | 2 | ||||
| -rw-r--r-- | chimere/templates/chimere/base.html | 4 | ||||
| -rw-r--r-- | chimere/templates/chimere/blocks/footer.html | 2 | ||||
| -rw-r--r-- | chimere/templates/chimere/blocks/head_chimere.html | 1 | ||||
| -rw-r--r-- | chimere/templates/chimere/blocks/live_coordinates.html | 52 | ||||
| -rw-r--r-- | chimere/templates/chimere/blocks/map.html | 12 | ||||
| -rw-r--r-- | chimere/templates/chimere/main_map.html | 18 | ||||
| -rw-r--r-- | chimere/templates/search/indexes/chimere/marker_text.txt | 3 | ||||
| -rw-r--r-- | chimere/templates/search/indexes/chimere/route_text.txt | 1 | ||||
| -rw-r--r-- | chimere/templates/search/search.html | 54 |
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 %} |
