summaryrefslogtreecommitdiff
path: root/chimere/models.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2012-09-25 01:46:12 +0200
committerÉtienne Loks <etienne.loks@peacefrogs.net>2012-09-25 01:46:12 +0200
commit4bc82f3f73577118d3cc534eaf749d16321c552a (patch)
tree4af66c0ec67ee8bbc17438cff9298772a9b34a0a /chimere/models.py
parentfea0b9ecba616b70c40c0a17bfd808cebcd916d8 (diff)
downloadChimère-4bc82f3f73577118d3cc534eaf749d16321c552a.tar.bz2
Chimère-4bc82f3f73577118d3cc534eaf749d16321c552a.zip
Map: manage hover for markers - work on clustering
* add the possibility to add an alternate icon when the category is hovered * management of click *and* hover for cluster layer * make clustering of marker not mandatory * manage icon hover in JS: change icon + category label display on top of the marker
Diffstat (limited to 'chimere/models.py')
-rw-r--r--chimere/models.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/chimere/models.py b/chimere/models.py
index 20c598e..c11a115 100644
--- a/chimere/models.py
+++ b/chimere/models.py
@@ -206,6 +206,8 @@ class SubCategory(models.Model):
name = models.CharField(_(u"Name"), max_length=150)
available = models.BooleanField(_(u"Available"))
icon = models.ForeignKey(Icon, verbose_name=_(u"Icon"))
+ hover_icon = models.ForeignKey(Icon, verbose_name=_(u"Hover icon"),
+ blank=True, null=True, related_name='subcat_hovered')
color_theme = models.ForeignKey(ColorTheme, verbose_name=_(u"Color theme"),
blank=True, null=True)
order = models.IntegerField(_(u"Order"), default=1000)
@@ -519,12 +521,18 @@ class Marker(GeographicItem):
items = {'id':self.id, 'name':json.dumps(self.name),
'geometry':self.point.geojson,
'icon_path':cat.icon.image,
+ 'icon_hover_path':cat.hover_icon.image \
+ if cat.hover_icon else '',
'icon_width':cat.icon.image.width,
- 'icon_height':cat.icon.image.height,}
+ 'icon_height':cat.icon.image.height,
+ 'category_name':json.dumps(cat.name)}
jsons.append(u'{"type":"Feature", "geometry":%(geometry)s, '\
u'"properties":{"pk": %(id)d, "name": %(name)s, '\
- u'"icon_path":"%(icon_path)s", "icon_width":%(icon_width)d, '\
- u'"icon_height":%(icon_height)d}}' % items)
+ u'"icon_path":"%(icon_path)s", '\
+ u'"icon_hover_path":"%(icon_hover_path)s", '\
+ u'"icon_width":%(icon_width)d, '\
+ u'"icon_height":%(icon_height)d, '\
+ u'"category_name":%(category_name)s}}' % items)
return ",".join(jsons)
@property