gremmie@1: """ gremmie@1: Various useful widgets for the GPP application. gremmie@1: """ gremmie@1: gremmie@1: from django import forms gremmie@1: from django.utils.safestring import mark_safe gremmie@1: from django.core.urlresolvers import reverse gremmie@1: gremmie@1: gremmie@1: class AutoCompleteUserInput(forms.TextInput): gremmie@1: class Media: gremmie@1: css = { gremmie@1: 'all': ('js/jquery-autocomplete/jquery.autocomplete.css',) gremmie@1: } gremmie@1: js = ( gremmie@1: 'js/jquery-autocomplete/lib/jquery.js', gremmie@1: 'js/jquery-autocomplete/lib/jquery.bgiframe.min.js', gremmie@1: 'js/jquery-autocomplete/lib/jquery.ajaxQueue.js', gremmie@1: 'js/jquery-autocomplete/jquery.autocomplete.js' gremmie@1: ) gremmie@1: gremmie@1: def render(self, name, value, attrs=None): gremmie@1: url = reverse('messages-ajax_users') gremmie@1: output = super(AutoCompleteUserInput, self).render(name, value, attrs) gremmie@1: return output + mark_safe(u'''\ gremmie@1: <script type="text/javascript"> gremmie@1: jQuery("#id_%s").autocomplete("%s", { gremmie@1: width: 150, gremmie@1: max: 10, gremmie@1: highlight: false, gremmie@1: multiple: false, gremmie@1: scroll: true, gremmie@1: scrollHeight: 300, gremmie@1: matchContains: true, gremmie@1: autoFill: true, gremmie@1: }); gremmie@1: </script>''' % (name, url)) gremmie@1: gremmie@1: gremmie@1: # vim: ts=4 sw=4