diff options
| author | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-10-06 20:10:20 +0200 |
|---|---|---|
| committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-10-06 20:10:20 +0200 |
| commit | 08a15921f11ad83595e5b3c0a7b501fa5278483f (patch) | |
| tree | 6c3f7c94cd328bdd704d9beb836040e89136152f /chimere/widgets.py | |
| parent | 75b60df59b078fafe9cf69fdcfef6b03beb22539 (diff) | |
| download | Chimère-08a15921f11ad83595e5b3c0a7b501fa5278483f.tar.bz2 Chimère-08a15921f11ad83595e5b3c0a7b501fa5278483f.zip | |
Admin: improve widget to select an area
Diffstat (limited to 'chimere/widgets.py')
| -rw-r--r-- | chimere/widgets.py | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/chimere/widgets.py b/chimere/widgets.py index e113305..f336ee1 100644 --- a/chimere/widgets.py +++ b/chimere/widgets.py @@ -358,9 +358,11 @@ class AreaWidget(forms.TextInput): """ class Media: css = { - "all": settings.OSM_CSS_URLS + ["%schimere/css/forms.css" % settings.STATIC_URL,] + "all": settings.OSM_CSS_URLS + \ + ["%schimere/css/forms.css" % settings.STATIC_URL,] } - js = settings.OSM_JS_URLS + ["%schimere/js/edit_area.js" % settings.STATIC_URL, + js = settings.OSM_JS_URLS + [ + "%schimere/js/edit_area.js" % settings.STATIC_URL, "%schimere/js/base.js" % settings.STATIC_URL,] def render(self, name, value, attrs=None): @@ -379,7 +381,7 @@ class AreaWidget(forms.TextInput): lower_right_lon, lower_right_lat = lower_right.x, \ lower_right.y tpl = getMapJS() - tpl += u"<div id='map_edit'></div>\n"\ + tpl += u"</div>\n"\ u"<input type='hidden' name='upper_left_lat' id='upper_left_lat' "\ u"value='%f'/>\n"\ u"<input type='hidden' name='upper_left_lon' id='upper_left_lon' "\ @@ -389,13 +391,19 @@ class AreaWidget(forms.TextInput): u"<input type='hidden' name='lower_right_lon' id='lower_right_lon' "\ u"value='%f'/>\n" % ( upper_left_lat, upper_left_lon, lower_right_lat, lower_right_lon) - tpl += u"<script type='text/javascript'>\ninit();" + help_msg = _(u"Hold CTRL, click and drag to select area on the map") + tpl += u"<p>%s</p>\n" % help_msg + tpl += u"<script type='text/javascript'>\n" + tpl += u"$(document).ready(function($) {\ninit();\n" if value: tpl += u"var extent = new OpenLayers.Bounds(%f, %f, %f, %f);\n"\ u"extent.transform(epsg_display_projection, epsg_projection);\n"\ - u"map.zoomToExtent(extent, true);""" % (upper_left_lon, - upper_left_lat, lower_right_lon, lower_right_lat) - tpl += u"</script>\n<hr class='spacer'/>\n" + u"updateForm(extent);\n"\ + u"map.zoomToExtent(extent, true);\n"\ + u"map.zoomOut();" % (upper_left_lon, upper_left_lat, + lower_right_lon, lower_right_lat) + tpl += u"});\n</script>\n<hr class='spacer'/>\n" + tpl += u"<div id='map_edit'>\n" return mark_safe(tpl) def value_from_datadict(self, data, files, name): |
