class SimpleList (Plugin) :
- # 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):
+ # only deal with our own stuff here and let Plugin handle the rest
+ def __init__ (self, key, 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.key=key
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 template_file (self):
+ return "simplelist.html"
+
+ def template_env (self, request):
+ env={}
+ header=getattr(self,'header',None)
+ if header: env['header']=header
+ env['with_datatables']= "yes" if self.with_datatables else ""
+ return env
def requirements (self):
- reqs = { 'js_files' : [ "js/simplelist.js" ],
+ reqs = { 'js_files' : [ "js/simplelist.js", "js/plugin.js", "js/query.js", "js/onavail.js",
+ "js/manifold-pubsub.js", "js/manifold-async.js",
+ "js/spin.presets.js", "js/spin.min.js", "js/jquery.spin.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 json_settings_list (self): return ['plugin_uuid', 'query','query_uuid','key']
- def exclude_from_json (self):
- return ['list']