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 |
