X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/0a7090f11131631647db366ff87976407e788412..HEAD:/src/search/fields.py diff --git a/src/search/fields.py b/src/search/fields.py index 18a5c1564..1666a67ea 100644 --- a/src/search/fields.py +++ b/src/search/fields.py @@ -1,70 +1,7 @@ -# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. -# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. +# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later. +# Copyright © Fundacja Wolne Lektury. See NOTICE for more information. # -from django import forms -from django.forms.utils import flatatt from django.forms.widgets import RadioSelect -from django.utils.encoding import smart_str -from django.utils.safestring import mark_safe -from json import dumps - - -class JQueryAutoCompleteWidget(forms.TextInput): - def __init__(self, options, *args, **kwargs): - self.options = dumps(options) - super(JQueryAutoCompleteWidget, self).__init__(*args, **kwargs) - - def render_js(self, field_id, options): - return '$(\'#%s\').autocomplete(%s).result(autocomplete_result_handler);' % (field_id, options) - - def render(self, name, value=None, attrs=None, renderer=None): - final_attrs = self.build_attrs(self.attrs, attrs) - final_attrs["name"] = name - if value: - final_attrs['value'] = smart_str(value) - - if 'id' not in self.attrs: - final_attrs['id'] = 'id_%s' % name - - html = ''' - - ''' % { - 'attrs': flatatt(final_attrs), - 'js': self.render_js(final_attrs['id'], self.options), - } - - return mark_safe(html) - - -class JQueryAutoCompleteSearchWidget(JQueryAutoCompleteWidget): - def __init__(self, *args, **kwargs): - super(JQueryAutoCompleteSearchWidget, self).__init__(*args, **kwargs) - - def render_js(self, field_id, options): - return "" - - -class JQueryAutoCompleteField(forms.CharField): - def __init__(self, source, options=None, *args, **kwargs): - if options is None: - options = {} - if 'widget' not in kwargs: - options['source'] = source - kwargs['widget'] = JQueryAutoCompleteWidget(options) - - super(JQueryAutoCompleteField, self).__init__(*args, **kwargs) - - -class JQueryAutoCompleteSearchField(forms.CharField): - def __init__(self, options=None, *args, **kwargs): - if options is None: - options = {} - if 'widget' not in kwargs: - kwargs['widget'] = JQueryAutoCompleteSearchWidget(options) - - super(JQueryAutoCompleteSearchField, self).__init__(*args, **kwargs) - class InlineRadioWidget(RadioSelect):