web/views/treeview.py
changeset 187 cae87ca76f02
parent 150 1190261a1f13
child 237 3df2e0ae2eba
equal deleted inserted replaced
186:5e550c6e554c 187:cae87ca76f02
    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')