web/views/tabs.py
changeset 498 fc7ce5f95dd9
parent 494 c47229797d0d
child 504 459e50669d96
equal deleted inserted replaced
494:c47229797d0d 498:fc7ce5f95dd9
   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 :