added max rows and cols to Codearea

This commit is contained in:
Queue A
2026-06-03 06:24:04 +02:00
parent c39c2e986f
commit 31402d3121

View File

@@ -11,6 +11,7 @@ class Codearea( Textarea ):
spell_check = False, spell_check = False,
extra_rows = 2, extra_cols = 10, extra_rows = 2, extra_cols = 10,
min_rows = 10, min_cols = 40, min_rows = 10, min_cols = 40,
max_rows = None, max_cols = None,
tab_size = 4, tab_size = 4,
**kwargs **kwargs
): ):
@@ -22,6 +23,8 @@ class Codearea( Textarea ):
self.extra_cols = extra_cols self.extra_cols = extra_cols
self.min_rows = min_rows self.min_rows = min_rows
self.min_cols = min_cols self.min_cols = min_cols
self.max_rows = max_rows
self.max_cols = max_cols
self.tab_size = tab_size self.tab_size = tab_size
super().__init__( *args, **kwargs ) super().__init__( *args, **kwargs )
@@ -57,6 +60,12 @@ class Codearea( Textarea ):
cols = max( max_line_chars + self.extra_cols, self.min_cols ) cols = max( max_line_chars + self.extra_cols, self.min_cols )
) )
if self.max_rows and 'rows' in attrs:
attrs['rows'] = min( self.max_rows, attrs['rows'] )
if self.max_cols and 'cols' in attrs:
attrs['cols'] = min( self.max_cols, attrs['cols'] )
return loader.get_template("asyncron/codearea-widget.html").render({ return loader.get_template("asyncron/codearea-widget.html").render({
"textarea": super().render( name, value, attrs, renderer ), "textarea": super().render( name, value, attrs, renderer ),