diff options
Diffstat (limited to 'chimere/widgets.py')
| -rw-r--r-- | chimere/widgets.py | 19 | 
1 files changed, 19 insertions, 0 deletions
| diff --git a/chimere/widgets.py b/chimere/widgets.py index 729f939..328605f 100644 --- a/chimere/widgets.py +++ b/chimere/widgets.py @@ -56,6 +56,25 @@ def getMapJS(area_name=''):           u"%s// !--></script>\n" % js      return js +class ChosenSelectWidget(forms.Select): +    """ +    Chosen select widget. +    """ +    class Media: +        js = ["%schosen/chosen/chosen.jquery.min.js" % settings.STATIC_URL,] +        css = {'all': +             ["%schosen/chosen/chosen.css" % settings.STATIC_URL,] +              } +    def render(self, *args, **kwargs): +        if 'attrs' not in kwargs: +            kwargs['attrs'] = {} +        kwargs['attrs'].update({'class': 'chzn-select'}) +        rendered = super(ChosenSelectWidget, self).render(*args, **kwargs) +        rendered += u"\n<script type='text/javascript'>\n"\ +        u"  $('#%s').chosen();\n"\ +        u"</script>\n" % kwargs['attrs']['id'] +        return mark_safe(rendered) +  class TextareaWidget(forms.Textarea):      """      Manage the edition of a text using TinyMCE | 
