Mercurial > public > sg101
view core/widgets.py @ 989:2908859c2fe4
Smilies now use relative links.
This is for upcoming switch to SSL. Currently we do not need absolute URLs for
smilies. If this changes we can add it later.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Thu, 29 Oct 2015 20:54:34 -0500 |
parents | 678a1a2ef55a |
children |
line wrap: on
line source
""" Various useful widgets for the GPP application. """ from django import forms from django.utils.safestring import mark_safe from django.core.urlresolvers import reverse class AutoCompleteUserInput(forms.TextInput): def render(self, name, value, attrs=None): url = reverse('core-ajax_users') output = super(AutoCompleteUserInput, self).render(name, value, attrs) return output + mark_safe(u"""\ <script type="text/javascript"> $(function() { var cache = {}; var cacheSize = 0; $("#id_%s").autocomplete({ delay: 400, minLength: 1, source: function(request, response) { if (cache[request.term]) { response(cache[request.term]); return; } $.ajax({ url: "%s", type: "GET", data: { q: request.term, limit: 15 }, dataType: "json", success: function(data, textStatus) { if (cacheSize >= 32) { cache = {}; cacheSize = 0; } cache[request.term] = data; ++cacheSize; response(data); }, error: function(xhr, textStatus, ex) { alert('Oops, an error occurred. ' + xhr.statusText + ' - ' + xhr.responseText); } }); } }); }); </script>""" % (name, url))