web/views/tabs.py
branchstable
changeset 2258 79bc598c6411
parent 1997 554eb4dd533d
child 2264 17b8a6ad58fc
equal deleted inserted replaced
2257:2c9eceeaae6a 2258:79bc598c6411
    22     caveat : lazyview is not recursive, i.e : you can't (successfully)
    22     caveat : lazyview is not recursive, i.e : you can't (successfully)
    23     lazyload a view that in turns does the same
    23     lazyload a view that in turns does the same
    24     """
    24     """
    25 
    25 
    26     def _prepare_bindings(self, vid, reloadable):
    26     def _prepare_bindings(self, vid, reloadable):
    27         self.req.html_headers.add_onload(u"""
    27         self.req.add_onload(u"""
    28   jQuery('#lazy-%(vid)s').bind('%(event)s', function(event) {
    28   jQuery('#lazy-%(vid)s').bind('%(event)s', function(event) {
    29      load_now('#lazy-%(vid)s', '#%(vid)s-hole', %(reloadable)s);
    29      load_now('#lazy-%(vid)s', '#%(vid)s-hole', %(reloadable)s);
    30   });""" % {'event': 'load_%s' % vid, 'vid': vid,
    30   });""" % {'event': 'load_%s' % vid, 'vid': vid,
    31             'reloadable' : str(reloadable).lower()})
    31             'reloadable' : str(reloadable).lower()})
    32 
    32 
    57     def forceview(self, vid):
    57     def forceview(self, vid):
    58         """trigger an event that will force immediate loading of the view
    58         """trigger an event that will force immediate loading of the view
    59         on dom readyness
    59         on dom readyness
    60         """
    60         """
    61         self.req.add_js('cubicweb.lazy.js')
    61         self.req.add_js('cubicweb.lazy.js')
    62         self.req.html_headers.add_onload("trigger_load('%s');" % vid)
    62         self.req.add_onload("trigger_load('%s');" % vid)
    63 
    63 
    64 
    64 
    65 class TabsMixin(LazyViewMixin):
    65 class TabsMixin(LazyViewMixin):
    66     """a tab mixin
    66     """a tab mixin
    67     """
    67     """
   141             else:
   141             else:
   142                 self.lazyview(tab, static=True)
   142                 self.lazyview(tab, static=True)
   143             w(u'</div>')
   143             w(u'</div>')
   144         # call the set_tab() JS function *after* each tab is generated
   144         # call the set_tab() JS function *after* each tab is generated
   145         # because the callback binding needs to be done before
   145         # because the callback binding needs to be done before
   146         self.req.html_headers.add_onload(u"""
   146         self.req.add_onload(u"""
   147    jQuery('#entity-tabs-%(eeid)s > ul').tabs( { selected: %(tabindex)s });
   147    jQuery('#entity-tabs-%(eeid)s > ul').tabs( { selected: %(tabindex)s });
   148    set_tab('%(vid)s', '%(cookiename)s');
   148    set_tab('%(vid)s', '%(cookiename)s');
   149  """ % {'tabindex'   : tabs.index(active_tab),
   149  """ % {'tabindex'   : tabs.index(active_tab),
   150         'vid'        : active_tab,
   150         'vid'        : active_tab,
   151         'eeid'       : (entity and entity.eid or uid),
   151         'eeid'       : (entity and entity.eid or uid),