equal
deleted
inserted
replaced
18 |
18 |
19 def treecookiename(treeid): |
19 def treecookiename(treeid): |
20 return str('%s-treestate' % treeid) |
20 return str('%s-treestate' % treeid) |
21 |
21 |
22 class TreeView(EntityView): |
22 class TreeView(EntityView): |
23 id = 'treeview' |
23 __regid__ = 'treeview' |
24 itemvid = 'treeitemview' |
24 itemvid = 'treeitemview' |
25 subvid = 'oneline' |
25 subvid = 'oneline' |
26 css_classes = 'treeview widget' |
26 css_classes = 'treeview widget' |
27 title = _('tree view') |
27 title = _('tree view') |
28 |
28 |
72 self.call(*args, **allargs) |
72 self.call(*args, **allargs) |
73 |
73 |
74 class FileTreeView(TreeView): |
74 class FileTreeView(TreeView): |
75 """specific version of the treeview to display file trees |
75 """specific version of the treeview to display file trees |
76 """ |
76 """ |
77 id = 'filetree' |
77 __regid__ = 'filetree' |
78 css_classes = 'treeview widget filetree' |
78 css_classes = 'treeview widget filetree' |
79 title = _('file tree view') |
79 title = _('file tree view') |
80 |
80 |
81 def call(self, subvid=None, treeid=None, initial_load=True, **kwargs): |
81 def call(self, subvid=None, treeid=None, initial_load=True, **kwargs): |
82 super(FileTreeView, self).call(treeid=treeid, subvid='filetree-oneline', |
82 super(FileTreeView, self).call(treeid=treeid, subvid='filetree-oneline', |
86 """inner view used by the TreeItemView instead of oneline view |
86 """inner view used by the TreeItemView instead of oneline view |
87 |
87 |
88 This view adds an enclosing <span> with some specific CSS classes |
88 This view adds an enclosing <span> with some specific CSS classes |
89 around the oneline view. This is needed by the jquery treeview plugin. |
89 around the oneline view. This is needed by the jquery treeview plugin. |
90 """ |
90 """ |
91 id = 'filetree-oneline' |
91 __regid__ = 'filetree-oneline' |
92 |
92 |
93 def cell_call(self, row, col): |
93 def cell_call(self, row, col): |
94 entity = self.rset.get_entity(row, col) |
94 entity = self.rset.get_entity(row, col) |
95 if ITree.is_implemented_by(entity.__class__) and not entity.is_leaf(): |
95 if ITree.is_implemented_by(entity.__class__) and not entity.is_leaf(): |
96 self.w(u'<div class="folder">%s</div>\n' % entity.view('oneline')) |
96 self.w(u'<div class="folder">%s</div>\n' % entity.view('oneline')) |
99 self.w(u'<div class="file">%s</div>\n' % entity.view('oneline')) |
99 self.w(u'<div class="file">%s</div>\n' % entity.view('oneline')) |
100 |
100 |
101 |
101 |
102 class DefaultTreeViewItemView(EntityView): |
102 class DefaultTreeViewItemView(EntityView): |
103 """default treeitem view for entities which don't implement ITree""" |
103 """default treeitem view for entities which don't implement ITree""" |
104 id = 'treeitemview' |
104 __regid__ = 'treeitemview' |
105 |
105 |
106 def cell_call(self, row, col, vid='oneline', parentvid='treeview', treeid=None): |
106 def cell_call(self, row, col, vid='oneline', parentvid='treeview', treeid=None): |
107 assert treeid is not None |
107 assert treeid is not None |
108 entity = self.rset.get_entity(row, col) |
108 entity = self.rset.get_entity(row, col) |
109 itemview = self.view(vid, self.rset, row=row, col=col) |
109 itemview = self.view(vid, self.rset, row=row, col=col) |
116 class TreeViewItemView(EntityView): |
116 class TreeViewItemView(EntityView): |
117 """specific treeitem view for entities which implement ITree |
117 """specific treeitem view for entities which implement ITree |
118 |
118 |
119 (each item should be expandable if it's not a tree leaf) |
119 (each item should be expandable if it's not a tree leaf) |
120 """ |
120 """ |
121 id = 'treeitemview' |
121 __regid__ = 'treeitemview' |
|
122 __select__ = EntityView.__select__ & implements(ITree) |
122 default_branch_state_is_open = False |
123 default_branch_state_is_open = False |
123 __select__ = EntityView.__select__ & implements(ITree) |
|
124 |
124 |
125 def open_state(self, eeid, treeid): |
125 def open_state(self, eeid, treeid): |
126 cookies = self.req.get_cookie() |
126 cookies = self.req.get_cookie() |
127 treestate = cookies.get(treecookiename(treeid)) |
127 treestate = cookies.get(treecookiename(treeid)) |
128 if treestate: |
128 if treestate: |