コード例 #1
0
ファイル: compound.py プロジェクト: attilaolah/yafowil
def fieldset_renderer(widget, data):
    fs_attrs = {
        'id': cssid(widget, 'fieldset'),
        'class_': cssclasses(widget, data)
    }
    rendered = data.rendered
    if widget.attrs['legend']:
        rendered = data.tag('legend', widget.attrs['legend']) + rendered
    return data.tag('fieldset', rendered, **fs_attrs)   

factory.defaults['fieldset.legend'] = False
factory.defaults['fieldset.class'] = []
factory.register('fieldset', 
                 factory.extractors('compound'), 
                 factory.renderers('compound') + [fieldset_renderer])

def form_renderer(widget, data):
    form_attrs = {
        'action': widget.attrs['action'],
        'method': widget.attrs['method'],
        'enctype': widget.attrs['method']=='post' and \
                   widget.attrs['enctype'] or None,
        'class_': cssclasses(widget, data),
        'id': 'form-%s' % '-'.join(widget.path),
    }
    if callable(form_attrs['action']):
        form_attrs['action'] =  form_attrs['action'](widget, data)
    return data.tag('form', data.rendered, **form_attrs)

factory.defaults['form.method'] = 'post'
コード例 #2
0
ファイル: table.py プロジェクト: attilaolah/yafowil
from yafowil.base import factory
from yafowil.utils import cssclasses


def table_renderer(widget, data):
    attrs = {"id": widget.attrs.get("id"), "class_": cssclasses(widget, data)}
    return data.tag("table", data.rendered, **attrs)


factory.register("table", factory.extractors("compound"), factory.renderers("compound") + [table_renderer])


def thead_renderer(widget, data):
    return data.tag("thead", data.rendered)


factory.register("thead", factory.extractors("compound"), factory.renderers("compound") + [thead_renderer])


def tbody_renderer(widget, data):
    return data.tag("tbody", data.rendered)


factory.register("tbody", factory.extractors("compound"), factory.renderers("compound") + [tbody_renderer])


def tr_renderer(widget, data):
    attrs = {"id": widget.attrs.get("id"), "class_": cssclasses(widget, data)}
    return data.tag("tr", data.rendered, **attrs)