Skip to content

Commit

Permalink
Merge pull request #48 from greyli/fix-ckeditor-class
Browse files Browse the repository at this point in the history
Fix unnecessary "ckeditor" class when using ckeditor.config()
  • Loading branch information
greyli committed Apr 24, 2021
2 parents 2af915b + d1e2842 commit df8e27b
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 2 deletions.
7 changes: 7 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
Changelog
=========

0.4.5
-----

Release date: -

- Fix unnecessary "ckeditor" class when using ``ckeditor.config()``.

0.4.4.1
-------

Expand Down
7 changes: 5 additions & 2 deletions flask_ckeditor/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ def config(name='ckeditor', custom_config='', **kwargs):

return Markup('''
<script type="text/javascript">
document.getElementById("%s").classList.remove("ckeditor");
CKEDITOR.replace( "%s", {
language: "%s",
height: %s,
Expand All @@ -118,7 +119,7 @@ def config(name='ckeditor', custom_config='', **kwargs):
%s
});
</script>''' % (
name, language, height, width, code_theme, file_uploader, file_uploader, file_browser,
name, name, language, height, width, code_theme, file_uploader, file_uploader, file_browser,
','.join(extra_plugins), csrf_header, custom_config))

@staticmethod
Expand All @@ -130,8 +131,10 @@ def create(name='ckeditor', value=''):
:param value: The preset value for textarea.
.. versionadded:: 0.3
.. versionchanged:: 0.4.5
The value of ``name`` will be used as ``id`` attribute.
"""
return Markup('<textarea class="ckeditor" name="%s">%s</textarea>' % (name, value))
return Markup('<textarea class="ckeditor" name="%s" id="%s">%s</textarea>' % (name, name, value))

@staticmethod
def load_code_theme():
Expand Down
28 changes: 28 additions & 0 deletions test_flask_ckeditor.py
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,12 @@ def test_create(self):
rv = self.ckeditor.create()
self.assertIn('<textarea class="ckeditor"', rv)

rv = self.ckeditor.create(name='foo')
self.assertIn('<textarea class="ckeditor" name="foo" id="foo"', rv)

rv = self.ckeditor.create(value='bar')
self.assertIn('<textarea class="ckeditor" name="ckeditor" id="ckeditor">bar</textarea>', rv)

def test_render_template(self):
response = self.client.get('/')
data = response.get_data(as_text=True)
Expand Down Expand Up @@ -200,3 +206,25 @@ def test_local_resources_plugins(self):
response = self.client.get(url)
response.close()
self.assertEqual(response.status_code, 200)

def test_ckeditor_class(self):
response = self.client.get('/')
data = response.get_data(as_text=True)
self.assertIn('document.getElementById("ckeditor").classList.remove("ckeditor")', data)
self.assertIn('id="ckeditor"', data)

response = self.client.get('/field')
data = response.get_data(as_text=True)
self.assertIn('document.getElementById("body").classList.remove("ckeditor")', data)
self.assertIn('id="body"', data)

@self.app.route('/create-without-config')
def create_without_config():
return render_template_string('''
{{ ckeditor.create() }}
{{ ckeditor.load() }}''')

response = self.client.get('/create-without-config')
data = response.get_data(as_text=True)
self.assertIn('class="ckeditor', data)
self.assertNotIn('document.getElementById("ckeditor").classList.remove("ckeditor")', data)

0 comments on commit df8e27b

Please sign in to comment.