107 self.lazyview(tab, entity.eid) |
107 self.lazyview(tab, entity.eid) |
108 w(u'</div>') |
108 w(u'</div>') |
109 |
109 |
110 |
110 |
111 from cubicweb.web.views.basecontrollers import JSonController |
111 from cubicweb.web.views.basecontrollers import JSonController |
112 class TabsController(JSonController): |
|
113 |
112 |
114 def js_remember_active_tab(self, tabname): |
113 def js_remember_active_tab(self, tabname): |
115 cookie = self.req.get_cookie() |
114 cookie = self.req.get_cookie() |
116 cookie['active_tab'] = tabname |
115 cookie['active_tab'] = tabname |
117 self.req.set_cookie(cookie, 'active_tab') |
116 self.req.set_cookie(cookie, 'active_tab') |
118 |
117 |
119 def js_lazily(self, vid_eid): |
118 def js_lazily(self, vid_eid): |
120 vid, eid = vid_eid.split('-') |
119 vid, eid = vid_eid.split('-') |
121 rset = eid and self.req.eid_rset(eid) or None |
120 rset = eid and self.req.eid_rset(eid) or None |
122 view = self.vreg.select_view(vid, self.req, rset) |
121 view = self.vreg.select_view(vid, self.req, rset) |
123 return self._set_content_type(view, view.dispatch()) |
122 return self._set_content_type(view, view.dispatch()) |
124 |
123 |
125 class DataDependantTab(EntityView): |
124 JSonController.js_remember_active_tab = js_remember_active_tab |
|
125 JSonController.js_lazily = js_lazily |
|
126 |
|
127 class EntityRelatedTab(EntityView): |
126 """A view you should inherit from leftmost, |
128 """A view you should inherit from leftmost, |
127 to wrap another actual view displaying entity related stuff. |
129 to wrap another actual view displaying entity related stuff. |
128 Such a view _must_ provide the rtype, target and vid attributes : |
130 Such a view _must_ provide the rtype, target and vid attributes : |
129 |
131 |
130 Example : |
132 Example : |