equal
deleted
inserted
replaced
13 from cubicweb import NoSelectableObject, role |
13 from cubicweb import NoSelectableObject, role |
14 from cubicweb.selectors import partial_has_related_entities |
14 from cubicweb.selectors import partial_has_related_entities |
15 from cubicweb.view import EntityView |
15 from cubicweb.view import EntityView |
16 from cubicweb.common import tags, uilib |
16 from cubicweb.common import tags, uilib |
17 from cubicweb.utils import make_uid |
17 from cubicweb.utils import make_uid |
|
18 from cubicweb.web.views import primary |
18 |
19 |
19 class LazyViewMixin(object): |
20 class LazyViewMixin(object): |
20 """provides two convenience methods for the tab machinery |
21 """provides two convenience methods for the tab machinery |
21 can also be used to lazy-load arbitrary views |
22 can also be used to lazy-load arbitrary views |
22 caveat : lazyview is not recursive, i.e : you can't (successfully) |
23 caveat : lazyview is not recursive, i.e : you can't (successfully) |
176 self.w(u'<div class="mainInfo">') |
177 self.w(u'<div class="mainInfo">') |
177 if self.title: |
178 if self.title: |
178 self.w(tags.h1(self.req._(self.title))) |
179 self.w(tags.h1(self.req._(self.title))) |
179 self.wview(self.vid, rset, 'noresult') |
180 self.wview(self.vid, rset, 'noresult') |
180 self.w(u'</div>') |
181 self.w(u'</div>') |
|
182 |
|
183 |
|
184 class TabedPrimaryView(TabsMixin, primary.PrimaryView): |
|
185 __abstract__ = True # don't register |
|
186 |
|
187 tabs = ['main_tab'] |
|
188 default_tab = 'main_tab' |
|
189 |
|
190 def cell_call(self, row, col): |
|
191 entity = self.complete_entity(row, col) |
|
192 self.render_entity_title(entity) |
|
193 self.render_entity_metadata(entity) |
|
194 self.render_tabs(self.tabs, self.default_tab, entity) |
|
195 |
|
196 |
|
197 class PrimaryTab(primary.PrimaryView): |
|
198 id = 'main_tab' |
|
199 |
|
200 def is_primary(self): |
|
201 return True |
|
202 |
|
203 def render_entity_title(self, entity): |
|
204 pass |
|
205 |
|
206 def render_entity_metadata(self, entity): |
|
207 pass |
|
208 |