Exemplo n.º 1
0
 def render(self, request, block=None, **kwargs):
     instance = request.instance
     tabs = html.tabs().addData('options', {'ajax': True})
     first = True
     for order, elem in sorted(self.get_views(request), key=lambda v: v[0]):
         # we render so that we add javascript if it is needed
         text = elem.view.render()
         link = views.application_link(elem, asbutton=False)
         tabs.addtab(link, text)
     return tabs
Exemplo n.º 2
0
 def testTabs(self):
     tab = html.tabs()
     self.assertEqual(len(tab), 0)
     self.assertEqual(tab.tag, 'div')
     tab.addtab('tab1', 'this is tab 1')
     self.assertEqual(len(tab), 2)
     tab.addtab('tab2', 'this is tab 2')
     self.assertEqual(len(tab), 3)
     ht = tab.render()
     self.assertTrue('ui-tabs' in ht)
Exemplo n.º 3
0
 def testTabs(self):
     tab = html.tabs()
     self.assertEqual(len(tab),0)
     self.assertEqual(tab.tag, 'div')
     tab.addtab('tab1','this is tab 1')
     self.assertEqual(len(tab),2)
     tab.addtab('tab2','this is tab 2')
     self.assertEqual(len(tab),3)
     ht = tab.render()
     self.assertTrue('ui-tabs' in ht)
Exemplo n.º 4
0
def profile(request, callback, Response):
    tmp = tempfile.mktemp()
    out = Stream()
    prof = profiler.Profile()
    response = prof.runcall(callback)
    prof.dump_stats(tmp)
    stats = pstats.Stats(tmp, stream=out)
    #stats.strip_dirs()          # Must happen prior to sort_stats
    stats.sort_stats('time', 'calls')
    stats.print_stats()
    stats_str = out.getvalue()
    os.unlink(tmp)
    stats_str = stats_str.split('\n')
    headers = '\n'.join(make_header(stats_str[:4]))
    data = data_stream(stats_str[6:],100)
    tables = make_stat_table(request, data)
    w = Widget(cn = 'profiler')
    w.add(Widget('div', headers, cn = 'legend'))
    w.add(tabs(tables))
    content = w.render(request)
    return to_bytes('\n'.join(html_doc_stream(request, content, 200)))
Exemplo n.º 5
0
def profile(request, callback, Response):
    tmp = tempfile.mktemp()
    out = Stream()
    prof = profiler.Profile()
    response = prof.runcall(callback)
    prof.dump_stats(tmp)
    stats = pstats.Stats(tmp, stream=out)
    #stats.strip_dirs()          # Must happen prior to sort_stats
    stats.sort_stats('time', 'calls')
    stats.print_stats()
    stats_str = out.getvalue()
    os.unlink(tmp)
    stats_str = stats_str.split('\n')
    headers = '\n'.join(make_header(stats_str[:4]))
    data = data_stream(stats_str[6:], 100)
    tables = make_stat_table(request, data)
    w = Widget(cn='profiler')
    w.add(Widget('div', headers, cn='legend'))
    w.add(tabs(tables))
    content = w.render(request)
    return to_bytes('\n'.join(html_doc_stream(request, content, 200)))
Exemplo n.º 6
0
def tabview(djp):
    make = lambda d,kwargs : djp.view.get_widget(d).addData('height',500)\
                                     .addData(kwargs).render(d)
    anchor = lambda s : html.Widget('a',title=s,href='/?style={0}'.format(s))\
                            .render(inner = s)
    data = (('default',make(djp,None)),
            ('popup',make(djp,{'edit':{'popup':True}})),
            #('resizable',make(djp,{'resizable':{'disabled':False}}))
            )
    tabs = html.tabs(data_stream = data,
                     cn = 'whole-page')
    styles = html.Box(hd = 'Styles',
                      bd = html.List((anchor(s) for s in medplate.themes()),
                                     cn = 'vertical').render(djp))
    logging = html.Box(hd = 'Logging',
                       bd = html.Widget('div',cn='djp-logging-panel').render())
    
    ctx = {'content0':views.BlockContentGen(djp,(tabs,)),
           'content1':views.BlockContentGen(djp,(styles,docs(),logging))}
    
    return loader.render('djpcms/inner/cols2_66_33.html',
                         loader.context(ctx,djp.request))