22 id = 'treeview' |
22 id = 'treeview' |
23 itemvid = 'treeitemview' |
23 itemvid = 'treeitemview' |
24 css_classes = 'treeview widget' |
24 css_classes = 'treeview widget' |
25 title = _('tree view') |
25 title = _('tree view') |
26 |
26 |
27 def call(self, subvid=None, treeid=None, initial_load=True): |
27 def call(self, subvid=None, treeid=None, initial_load=True, initial_thru_ajax=False): |
28 if subvid is None: |
28 if subvid is None: |
29 subvid = self.req.form.pop('treesubvid', 'oneline') # consume it |
29 subvid = self.req.form.pop('treesubvid', 'oneline') # consume it |
30 if treeid is None: |
30 if treeid is None: |
31 treeid = self.req.form.pop('treeid', None) |
31 treeid = self.req.form.pop('treeid', None) |
32 if treeid is None: |
32 if treeid is None: |
33 self.warning('Tree state won\'t be properly restored after next reload') |
33 self.warning('Tree state won\'t be properly restored after next reload') |
34 treeid = make_uid('throw away uid') |
34 treeid = make_uid('throw away uid') |
35 toplevel_thru_ajax = self.req.form.pop('treeview_top', False) |
35 toplevel_thru_ajax = self.req.form.pop('treeview_top', False) or initial_thru_ajax |
36 toplevel = toplevel_thru_ajax or (initial_load and not self.req.form.get('fname')) |
36 toplevel = toplevel_thru_ajax or (initial_load and not self.req.form.get('fname')) |
37 ulid = ' ' |
37 ulid = ' ' |
38 if toplevel: |
38 if toplevel: |
39 ulid = ' id="tree-%s"' % treeid |
39 ulid = ' id="tree-%s"' % treeid |
40 self.w(u'<ul%s class="%s">' % (ulid, self.css_classes)) |
40 self.w(u'<ul%s class="%s">' % (ulid, self.css_classes)) |