Source code for tcms.core.widgets
# Copyright (c) 2018-2024 Kiwi TCMS project. All rights reserved.
# Author: Alexander Todorov <info@kiwitcms.org>
"""
Custom widgets for Django
"""
from django import forms
from django.utils.dateparse import parse_duration
from django.utils.safestring import SafeString
[docs]
class SimpleMDE(forms.Textarea):
"""
SimpleMDE widget for Django
"""
file_upload_id = "simplemde-file-upload"
[docs]
def render(self, name, value, attrs=None, renderer=None):
# pylint: disable=objects-update-used
attrs.update(
{
"class": "js-simplemde-textarea",
"data-file-upload-id": self.file_upload_id,
}
)
rendered_string = super().render(name, value, attrs, renderer)
rendered_string += SafeString( # nosec:B703:django_mark_safe
f"""
<input id="{self.file_upload_id}" type="file" style="display: none">
"""
)
return rendered_string