summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main/views.py8
-rw-r--r--settings.py3
-rw-r--r--static/main_map.js11
-rw-r--r--templates/main_map.html4
4 files changed, 23 insertions, 3 deletions
diff --git a/main/views.py b/main/views.py
index a7a4da7..42c9229 100644
--- a/main/views.py
+++ b/main/views.py
@@ -42,8 +42,14 @@ def index(request):
subcategories = SubCategory.getAvailable()
# by default all subcategories are checked
for cat, sub_cats in subcategories:
+ all_checked = True
for sub_category in sub_cats:
- sub_category.selected = True
+ if sub_category.id in settings.DEFAULT_CATEGORIES:
+ sub_category.selected = True
+ elif all_checked:
+ all_checked = False
+ if all_checked:
+ cat.selected = True
extra_js = ""
for url in URL_OSM_JS + ["%smain_map.js" % settings.MEDIA_URL]:
extra_js += '<script src="%s"></script>\n' % url
diff --git a/settings.py b/settings.py
index 9fd47ba..347ffbf 100644
--- a/settings.py
+++ b/settings.py
@@ -8,6 +8,9 @@ DEFAULT_CENTER = (-1.679444, 48.114722)
EPSG_PROJECTION = 900913
EPSG_DISPLAY_PROJECTION = 4326
+# default id category to check on the map
+DEFAULT_CATEGORIES = [1]
+
DEBUG = True
TEMPLATE_DEBUG = DEBUG
diff --git a/static/main_map.js b/static/main_map.js
index 3ccf2b0..0ba7ebb 100644
--- a/static/main_map.js
+++ b/static/main_map.js
@@ -19,6 +19,17 @@ See the file COPYING for details.
/* main map */
+/* check all the categories if clicked, unckeck if unclick */
+function checkAll(item, ids){
+ check = false;
+ if(item.checked == true){
+ check = true;
+ }
+ for (i in ids){
+ document.getElementById('category_'+ids[i]).checked = check;
+ }
+}
+
/* show a block panel */
function show(id){
document.getElementById(id).style.display = 'block';
diff --git a/templates/main_map.html b/templates/main_map.html
index 6b2d9d5..b5aca16 100644
--- a/templates/main_map.html
+++ b/templates/main_map.html
@@ -4,9 +4,9 @@
<div id='panel'>
<form method='post' name='frm_categories' id='frm_categories'>
<ul id='categories'>{% for category, lst_sub_categories in sub_categories %}
- <li>{% trans category.name %}
+ <li><input type='checkbox' id='maincat_{{category.id}}' onclick='var lst=new Array();{% for sub_category in lst_sub_categories %}lst.push("{{sub_category.id}}");{% endfor %}checkAll(this, lst);loadGeoObjects();' {% if category.selected %} checked='checked'{%endif%}/>{% trans category.name %}
<ul class='subcategories'>{% for sub_category in lst_sub_categories %}
- <li><input type='checkbox' onclick='loadGeoObjects()' name='category_{{sub_category.id}}' id='{{sub_category.id}}'{% if sub_category.selected %} checked='checked'{% endif %}/> <label for='{{sub_category.id}}'><img alt='{{sub_category.name}}' src='{{media_path}}{{sub_category.icon.image}}'/> {% trans sub_category.name %}</label></li>{% endfor %}
+ <li><input type='checkbox' onclick='loadGeoObjects()' name='category_{{sub_category.id}}' id='category_{{sub_category.id}}'{% if sub_category.selected %} checked='checked'{% endif %}/> <label for='{{sub_category.id}}'><img alt='{{sub_category.name}}' src='{{media_path}}{{sub_category.icon.image}}'/> {% trans sub_category.name %}</label></li>{% endfor %}
</ul>
</li>{% endfor %}
</ul>