X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=plugins%2Fsimplelist.py;h=5821bfbe1a9aa6149b6f9806cb92d4a574696a75;hb=6373f4c6f48b4a2e049372ad6c6dd4adf9c95b69;hp=19abe28aa1275361ba649dc82a65dc46255cd3e8;hpb=ee4bff70dd38e334edb0216b3c27a90facfc6244;p=unfold.git diff --git a/plugins/simplelist.py b/plugins/simplelist.py index 19abe28a..5821bfbe 100644 --- a/plugins/simplelist.py +++ b/plugins/simplelist.py @@ -1,9 +1,32 @@ -from django.template.loader import render_to_string - from engine.plugin import Plugin class SimpleList (Plugin) : - - def render_content (self, request): - return render_to_string ("widget-simplelist.html", - self._settings) + + # it would make sense to *not* define any constructor here and let Plugin kick in + # however it feels nicer this way as we document the settings used in our own template + # plus it's less confusing for any subclass if they can be sure which constructor to call + def __init__ (self, list=[], with_datatables=False, **settings): + Plugin.__init__ (self, **settings) + self.list=list +# don't expose this as it's big and + self.add_to_settings ('list') + self.with_datatables = with_datatables + self.add_to_settings ('with_datatables') + + # SimpleList is useless per se anyways + def template_file (self): return "simplelist.html" + + def requirements (self): + reqs = { 'js_files' : [ "js/simplelist.js" ], + 'css_files': [ "css/simplelist.css" ], + } + if self.with_datatables: + reqs['js_files'].append ("datatables/js/dataTables.js") + reqs['js_files'].append ("js/with-datatables.js") + return reqs +# for tests +# 'js_chunks' : "/* a javascript chunk */", +# 'css_chunks': "/* a css style */ ", + + def exclude_from_json (self): + return ['list']