20 self.req.add_css('jquery.treeview.css') |
20 self.req.add_css('jquery.treeview.css') |
21 self.req.add_js(('cubicweb.ajax.js', 'jquery.treeview.js', 'cubicweb.widgets.js')) |
21 self.req.add_js(('cubicweb.ajax.js', 'jquery.treeview.js', 'cubicweb.widgets.js')) |
22 css_classes = 'treeview widget' |
22 css_classes = 'treeview widget' |
23 if self.fstree: |
23 if self.fstree: |
24 css_classes += ' filetree' |
24 css_classes += ' filetree' |
25 self.w(u'<ul class="%s" cubicweb:loadtype="auto" cubicweb:wdgtype="TreeView">' |
25 # XXX noautoload is a quick hack to avoid treeview to be rebuilt |
26 % css_classes) |
26 # after a json query and avoid double toggling bugs. |
|
27 # Need to find a way to do that cleanly. |
|
28 if 'noautoload' in self.req.form: |
|
29 self.w(u'<ul class="%s" cubicweb:wdgtype="TreeView">' % css_classes) |
|
30 else: |
|
31 self.w(u'<ul class="%s" cubicweb:loadtype="auto" cubicweb:wdgtype="TreeView">' |
|
32 % css_classes) |
27 for rowidx in xrange(len(self.rset)): |
33 for rowidx in xrange(len(self.rset)): |
28 self.wview(self.itemvid, self.rset, row=rowidx, col=0, |
34 self.wview(self.itemvid, self.rset, row=rowidx, col=0, |
29 vid=subvid, parentvid=self.id) |
35 vid=subvid, parentvid=self.id) |
30 self.w(u'</ul>') |
36 self.w(u'</ul>') |
31 |
37 |
95 self.w(u'<li class="%s">' % u' '.join(cssclasses)) |
101 self.w(u'<li class="%s">' % u' '.join(cssclasses)) |
96 else: |
102 else: |
97 rql = entity.children_rql() % {'x': entity.eid} |
103 rql = entity.children_rql() % {'x': entity.eid} |
98 url = html_escape(self.build_url('json', rql=rql, vid=parentvid, |
104 url = html_escape(self.build_url('json', rql=rql, vid=parentvid, |
99 pageid=self.req.pageid, |
105 pageid=self.req.pageid, |
100 subvid=vid)) |
106 subvid=vid, |
|
107 noautoload=True)) |
101 cssclasses.append('expandable') |
108 cssclasses.append('expandable') |
102 divclasses = ['hitarea expandable-hitarea'] |
109 divclasses = ['hitarea expandable-hitarea'] |
103 if is_leaf : |
110 if is_leaf : |
104 cssclasses.append('lastExpandable') |
111 cssclasses.append('lastExpandable') |
105 divclasses.append('lastExpandable-hitarea') |
112 divclasses.append('lastExpandable-hitarea') |