# HG changeset patch # User sylvain.thenault@logilab.fr # Date 1236797510 -3600 # Node ID 84bc7dce187638766aac0b8bb8f4530d9a573e52 # Parent 04c745ce692eaaf82ca8050302eb50fd8b0ccaff new AjaxWidget diff -r 04c745ce692e -r 84bc7dce1876 web/form.py --- a/web/form.py Wed Mar 11 19:51:27 2009 +0100 +++ b/web/form.py Wed Mar 11 19:51:50 2009 +0100 @@ -452,6 +452,21 @@ req._('calendar'), helperid) ) +class AjaxWidget(FieldWidget): + def __init__(self, wdgtype, inputid=None, **kwargs): + super(AjaxWidget, self).__init__(**kwargs) + self.attrs.setdefault('class', 'widget') + self.attrs.setdefault('cubicweb:loadtype', 'auto') + self.attrs['cubicweb:wdgtype'] = wdgtype + if inputid is not None: + self.attrs['cubicweb:inputid'] = inputid + + def render(self, form, field): + self.add_media(form) + name, values, attrs = self._render_attrs(form, field) + return tags.div(**attrs) + + # fields ############ class Field(object):