verticallayout as an elementary building plugin
[unfold.git] / plugins / verticallayout.py
1 from django.template.loader import render_to_string
2
3 from engine.plugin import Plugin
4
5 class VerticalLayout (Plugin) :
6     
7     def __init__ (self, sons=[], *args, **kwds):
8         self.sons=sons
9         Plugin.__init__ (self, *args, **kwds)
10         
11     def insert (self, plugin):
12         self.sons.append(plugin)
13
14     def title (self) : return "VLayout title"
15
16     def render_env (self, request):
17         env = {}
18         sons_rendered = [ son.render(request) for son in self.sons ]
19         sons_titles = [ son.title() for son in self.sons ]
20         ids = range (len(self.sons))
21         # for now we don't have a title to pass
22         sons = [ { 'id':id, 'rendered':rendered, 'title':title } 
23                  for id,rendered,title in zip (ids, sons_rendered, sons_titles) ]
24         env['sons']=sons
25         return env
26         
27
28     def template (self):        return "verticallayout.html"
29
30     def media_js ():            return [ 'js/simplelist.js' ]
31
32     def media_css ():           return { 'all': ('css/simplelist.css'), }
33