cubicweb/web/views/ajaxcontroller.py
changeset 12189 ef46695adb68
parent 12188 fea018b2e056
child 12208 159dce89a145
equal deleted inserted replaced
12188:fea018b2e056 12189:ef46695adb68
   239             stream = view.set_stream()
   239             stream = view.set_stream()
   240         except AttributeError:
   240         except AttributeError:
   241             stream = UStringIO()
   241             stream = UStringIO()
   242             kwargs['w'] = stream.write
   242             kwargs['w'] = stream.write
   243             assert not paginate
   243             assert not paginate
   244         if divid == 'pageContent':
   244         if divid == 'contentmain':
   245             # ensure divid isn't reused by the view (e.g. table view)
   245             # ensure divid isn't reused by the view (e.g. table view)
   246             del self._cw.form['divid']
   246             del self._cw.form['divid']
   247             # mimick main template behaviour
       
   248             stream.write(u'<div id="pageContent">')
       
   249             vtitle = self._cw.form.get('vtitle')
       
   250             if vtitle:
       
   251                 stream.write(u'<h1 class="vtitle">%s</h1>\n' % vtitle)
       
   252             paginate = True
   247             paginate = True
       
   248         if divid == 'contentmain':
       
   249             stream.write(u'<div id="contentmain">')
   253         nav_html = UStringIO()
   250         nav_html = UStringIO()
   254         if paginate and not view.handle_pagination:
   251         if paginate and not view.handle_pagination:
   255             view.paginate(w=nav_html.write)
   252             view.paginate(w=nav_html.write)
   256         stream.write(nav_html.getvalue())
   253         stream.write(nav_html.getvalue())
   257         if divid == 'pageContent':
       
   258             stream.write(u'<div id="contentmain">')
       
   259         view.render(**kwargs)
   254         view.render(**kwargs)
       
   255         stream.write(nav_html.getvalue())
       
   256         if divid == 'contentmain':
       
   257             stream.write(u'</div>')
   260         extresources = self._cw.html_headers.getvalue(skiphead=True)
   258         extresources = self._cw.html_headers.getvalue(skiphead=True)
   261         if extresources:
   259         if extresources:
   262             stream.write(u'<div class="ajaxHtmlHead">\n') # XXX use a widget?
   260             stream.write(u'<div class="ajaxHtmlHead">\n') # XXX use a widget?
   263             stream.write(extresources)
   261             stream.write(extresources)
   264             stream.write(u'</div>\n')
   262             stream.write(u'</div>\n')
   265         if divid == 'pageContent':
       
   266             stream.write(u'</div>%s</div>' % nav_html.getvalue())
       
   267         return stream.getvalue()
   263         return stream.getvalue()
   268 
   264 
   269 
   265 
   270 def _ajaxfunc_factory(implementation, selector=yes(), _output_type=None,
   266 def _ajaxfunc_factory(implementation, selector=yes(), _output_type=None,
   271                       _check_pageid=False, regid=None):
   267                       _check_pageid=False, regid=None):