diff --git a/asyncron/widgets.py b/asyncron/widgets.py index 95714d1..d76a61f 100644 --- a/asyncron/widgets.py +++ b/asyncron/widgets.py @@ -11,6 +11,7 @@ class Codearea( Textarea ): spell_check = False, extra_rows = 2, extra_cols = 10, min_rows = 10, min_cols = 40, + max_rows = None, max_cols = None, tab_size = 4, **kwargs ): @@ -22,6 +23,8 @@ class Codearea( Textarea ): self.extra_cols = extra_cols self.min_rows = min_rows self.min_cols = min_cols + self.max_rows = max_rows + self.max_cols = max_cols self.tab_size = tab_size super().__init__( *args, **kwargs ) @@ -57,6 +60,12 @@ class Codearea( Textarea ): 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({ "textarea": super().render( name, value, attrs, renderer ),