Skip to content

Commit b3c630b

Browse files
committed
Make bootstrap3 static files optional
Loading bootstrap3 in an admin which is not already using it breaks the layout, load it only in the configure theme is bootstrap3.
1 parent 163a33c commit b3c630b

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

django_admin_json_editor/admin.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,12 @@ def __init__(self, schema, collapsed=True, sceditor=False, editor_options=None):
1313
self._schema = schema
1414
self._collapsed = collapsed
1515
self._sceditor = sceditor
16-
self._editor_options = editor_options or {}
16+
17+
self._editor_options = {
18+
'theme': 'bootstrap3',
19+
'iconlib': 'fontawesome4',
20+
}
21+
self._editor_options.update(editor_options or {})
1722

1823
def render(self, name, value, attrs=None, renderer=None):
1924
if callable(self._schema):
@@ -24,12 +29,8 @@ def render(self, name, value, attrs=None, renderer=None):
2429
schema['title'] = ' '
2530
schema['options'] = {'collapsed': int(self._collapsed)}
2631

27-
editor_options = {
28-
'theme': 'bootstrap3',
29-
'iconlib': 'fontawesome4',
30-
'schema': schema,
31-
}
32-
editor_options.update(self._editor_options)
32+
editor_options = self._editor_options.copy()
33+
editor_options['schema'] = schema
3334

3435
context = {
3536
'name': name,
@@ -43,16 +44,19 @@ def render(self, name, value, attrs=None, renderer=None):
4344
def media(self):
4445
css = {
4546
'all': [
46-
'django_admin_json_editor/bootstrap/css/bootstrap.min.css',
4747
'django_admin_json_editor/fontawesome/css/font-awesome.min.css',
4848
'django_admin_json_editor/style.css',
4949
]
5050
}
5151
js = [
52-
'django_admin_json_editor/jquery/jquery.min.js',
53-
'django_admin_json_editor/bootstrap/js/bootstrap.min.js',
5452
'django_admin_json_editor/jsoneditor/jsoneditor.min.js',
5553
]
54+
55+
if self._editor_options['theme'] == 'bootstrap3':
56+
css['all'].append('django_admin_json_editor/bootstrap/css/bootstrap.min.css')
57+
js.append('django_admin_json_editor/jquery/jquery.min.js')
58+
js.append('django_admin_json_editor/bootstrap/js/bootstrap.min.js')
59+
5660
if self._sceditor:
5761
css['all'].append('django_admin_json_editor/sceditor/themes/default.min.css')
5862
js.append('django_admin_json_editor/sceditor/jquery.sceditor.bbcode.min.js')

0 commit comments

Comments
 (0)