static: add code-mirror widget

This commit is contained in:
Jens Langhammer
2020-11-21 18:32:34 +01:00
parent 92c0ad4154
commit b849b2aef3
11 changed files with 98 additions and 44 deletions

View File

@ -36,15 +36,15 @@ class CodeMirrorWidget(forms.Textarea):
# CodeMirror mode to enable
mode: str
template_name = "fields/codemirror.html"
def __init__(self, *args, mode="yaml", **kwargs):
super().__init__(*args, **kwargs)
self.mode = mode
def render(self, *args, **kwargs):
attrs = kwargs.setdefault("attrs", {})
attrs.setdefault("class", "")
attrs["class"] += " codemirror"
attrs["data-cm-mode"] = self.mode
attrs["mode"] = self.mode
return super().render(*args, **kwargs)