mirror of
https://github.com/Hopiu/django-select2.git
synced 2026-03-16 21:40:23 +00:00
Add option to exclude the Select2 library from form media (#484)
This commit is contained in:
parent
f31beec0c4
commit
aef27f48df
3 changed files with 27 additions and 2 deletions
|
|
@ -62,6 +62,11 @@ class Select2Conf(AppConf):
|
|||
|
||||
SELECT2_JS = 'assets/js/select2.min.js'
|
||||
|
||||
If you provide your own JS and would not like Django-Select2 to load any, change
|
||||
this setting to a blank string like so::
|
||||
|
||||
SELECT2_JS = ''
|
||||
|
||||
.. tip:: Change this setting to a local asset in your development environment to
|
||||
develop without an Internet connection.
|
||||
"""
|
||||
|
|
@ -75,6 +80,11 @@ class Select2Conf(AppConf):
|
|||
|
||||
SELECT2_CSS = 'assets/css/select2.css'
|
||||
|
||||
If you provide your own CSS and would not like Django-Select2 to load any, change
|
||||
this setting to a blank string like so::
|
||||
|
||||
SELECT2_CSS = ''
|
||||
|
||||
.. tip:: Change this setting to a local asset in your development environment to
|
||||
develop without an Internet connection.
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -100,6 +100,9 @@ class Select2Mixin(object):
|
|||
"""
|
||||
lang = get_language()
|
||||
i18n_name = None
|
||||
select2_js = (settings.SELECT2_JS,) if settings.SELECT2_JS else ()
|
||||
select2_css = (settings.SELECT2_CSS,) if settings.SELECT2_CSS else ()
|
||||
|
||||
try:
|
||||
from django.contrib.admin.widgets import SELECT2_TRANSLATIONS
|
||||
i18n_name = SELECT2_TRANSLATIONS.get(lang)
|
||||
|
|
@ -116,8 +119,8 @@ class Select2Mixin(object):
|
|||
i18n_file = ('%s/%s.js' % (settings.SELECT2_I18N_PATH, i18n_name),) if i18n_name else ()
|
||||
|
||||
return forms.Media(
|
||||
js=(settings.SELECT2_JS,) + i18n_file + ('django_select2/django_select2.js',),
|
||||
css={'screen': (settings.SELECT2_CSS,)}
|
||||
js=select2_js + i18n_file + ('django_select2/django_select2.js',),
|
||||
css={'screen': select2_css}
|
||||
)
|
||||
|
||||
media = property(_get_media)
|
||||
|
|
|
|||
|
|
@ -161,12 +161,24 @@ class TestSelect2MixinSettings(object):
|
|||
assert 'alternate.js' in result
|
||||
assert 'django_select2/django_select2.js' in result
|
||||
|
||||
def test_empty_js_setting(self, settings):
|
||||
settings.SELECT2_JS = ''
|
||||
sut = Select2Widget()
|
||||
result = sut.media.render()
|
||||
assert 'django_select2/django_select2.js' in result
|
||||
|
||||
def test_css_setting(self, settings):
|
||||
settings.SELECT2_CSS = 'alternate.css'
|
||||
sut = Select2Widget()
|
||||
result = sut.media.render()
|
||||
assert 'alternate.css' in result
|
||||
|
||||
def test_empty_css_setting(self, settings):
|
||||
settings.SELECT2_CSS = ''
|
||||
sut = Select2Widget()
|
||||
result = sut.media.render()
|
||||
assert '.css' not in result
|
||||
|
||||
|
||||
class TestHeavySelect2Mixin(TestSelect2Mixin):
|
||||
url = reverse('heavy_select2_widget')
|
||||
|
|
|
|||
Loading…
Reference in a new issue