web/views/treeview.py
changeset 2789 39712da6f397
parent 2391 59a2def75e93
child 3085 b415bca9a9ed
equal deleted inserted replaced
2788:8d3dbe577d3a 2789:39712da6f397
    61     around the oneline view. This is needed by the jquery treeview plugin.
    61     around the oneline view. This is needed by the jquery treeview plugin.
    62     """
    62     """
    63     id = 'filetree-oneline'
    63     id = 'filetree-oneline'
    64 
    64 
    65     def cell_call(self, row, col):
    65     def cell_call(self, row, col):
    66         entity = self.entity(row, col)
    66         entity = self.rset.get_entity(row, col)
    67         if ITree.is_implemented_by(entity.__class__) and not entity.is_leaf():
    67         if ITree.is_implemented_by(entity.__class__) and not entity.is_leaf():
    68             self.w(u'<div class="folder">%s</div>\n' % entity.view('oneline'))
    68             self.w(u'<div class="folder">%s</div>\n' % entity.view('oneline'))
    69         else:
    69         else:
    70             # XXX define specific CSS classes according to mime types
    70             # XXX define specific CSS classes according to mime types
    71             self.w(u'<div class="file">%s</div>\n' % entity.view('oneline'))
    71             self.w(u'<div class="file">%s</div>\n' % entity.view('oneline'))
    75     """default treeitem view for entities which don't implement ITree"""
    75     """default treeitem view for entities which don't implement ITree"""
    76     id = 'treeitemview'
    76     id = 'treeitemview'
    77 
    77 
    78     def cell_call(self, row, col, vid='oneline', parentvid='treeview', treeid=None):
    78     def cell_call(self, row, col, vid='oneline', parentvid='treeview', treeid=None):
    79         assert treeid is not None
    79         assert treeid is not None
    80         entity = self.entity(row, col)
    80         entity = self.rset.get_entity(row, col)
    81         itemview = self.view(vid, self.rset, row=row, col=col)
    81         itemview = self.view(vid, self.rset, row=row, col=col)
    82         if row == len(self.rset) - 1:
    82         if row == len(self.rset) - 1:
    83             self.w(u'<li class="last">%s</li>' % itemview)
    83             self.w(u'<li class="last">%s</li>' % itemview)
    84         else:
    84         else:
    85             self.w(u'<li>%s</li>' % itemview)
    85             self.w(u'<li>%s</li>' % itemview)
   100             return str(eeid) in treestate.value.split(';')
   100             return str(eeid) in treestate.value.split(';')
   101         return False
   101         return False
   102 
   102 
   103     def cell_call(self, row, col, treeid, vid='oneline', parentvid='treeview'):
   103     def cell_call(self, row, col, treeid, vid='oneline', parentvid='treeview'):
   104         w = self.w
   104         w = self.w
   105         entity = self.entity(row, col)
   105         entity = self.rset.get_entity(row, col)
   106         liclasses = []
   106         liclasses = []
   107         is_last = row == len(self.rset) - 1
   107         is_last = row == len(self.rset) - 1
   108         is_open = self.open_state(entity.eid, treeid)
   108         is_open = self.open_state(entity.eid, treeid)
   109         is_leaf = not hasattr(entity, 'is_leaf') or entity.is_leaf()
   109         is_leaf = not hasattr(entity, 'is_leaf') or entity.is_leaf()
   110         if is_leaf:
   110         if is_leaf: