web/component.py
branchstable
changeset 6924 b88221afe491
parent 6907 449e5b46ed3d
child 6987 d62d4ba5ef3e
equal deleted inserted replaced
6923:327443ec7120 6924:b88221afe491
   396         return args
   396         return args
   397 
   397 
   398     @property
   398     @property
   399     def domid(self):
   399     def domid(self):
   400         return domid(self.__regid__) + unicode(self.entity.eid)
   400         return domid(self.__regid__) + unicode(self.entity.eid)
       
   401 
       
   402     def lazy_view_holder(self, w, entity, oid, registry='views'):
       
   403         """add a holder and return an url that may be used to replace this
       
   404         holder by the html generate by the view specified by registry and
       
   405         identifier. Registry defaults to 'views'.
       
   406         """
       
   407         holderid = '%sHolder' % self.domid
       
   408         w(u'<div id="%s"></div>' % holderid)
       
   409         params = self.cw_extra_kwargs.copy()
       
   410         params.pop('view', None)
       
   411         params.pop('entity', None)
       
   412         form = params.pop('formparams', {})
       
   413         form['pageid'] = self._cw.pageid
       
   414         if entity.has_eid():
       
   415             eid = entity.eid
       
   416         else:
       
   417             eid = None
       
   418             form['etype'] = entity.__regid__
       
   419             form['tempEid'] = entity.eid
       
   420         args = [json_dumps(x) for x in (registry, oid, eid, params)]
       
   421         return self._cw.ajax_replace_url(
       
   422             holderid, fname='render', arg=args, **form)
   401 
   423 
   402 
   424 
   403 # high level abstract classes ##################################################
   425 # high level abstract classes ##################################################
   404 
   426 
   405 class RQLCtxComponent(CtxComponent):
   427 class RQLCtxComponent(CtxComponent):