From b95e0cf3dd279b82c12921db4d90bfddff8dc343 Mon Sep 17 00:00:00 2001 From: Feodor Fitsner Date: Fri, 9 Dec 2022 10:02:12 -0800 Subject: [PATCH] Added `dense` property to `TextField` and `Dropdown` controls Close #690 --- package/lib/src/controls/form_field.dart | 1 + sdk/python/flet/dropdown.py | 5 ++++- sdk/python/flet/form_field_control.py | 11 +++++++++++ sdk/python/flet/textfield.py | 5 ++++- 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/package/lib/src/controls/form_field.dart b/package/lib/src/controls/form_field.dart index 4f2eb3af3..ffa65ba89 100644 --- a/package/lib/src/controls/form_field.dart +++ b/package/lib/src/controls/form_field.dart @@ -107,6 +107,7 @@ InputDecoration buildInputDecoration(BuildContext context, Control control, return InputDecoration( contentPadding: parseEdgeInsets(control, "contentPadding"), + isDense: control.attrBool("dense"), label: label != "" ? Text(label) : null, labelStyle: parseTextStyle(Theme.of(context), control, "labelStyle"), border: border, diff --git a/sdk/python/flet/dropdown.py b/sdk/python/flet/dropdown.py index dbe5f40a0..96f9b2f60 100644 --- a/sdk/python/flet/dropdown.py +++ b/sdk/python/flet/dropdown.py @@ -22,7 +22,7 @@ class Dropdown(FormFieldControl): """ A dropdown lets the user select from a number of items. The dropdown shows the currently selected item as well as an arrow that opens a menu for selecting another item. - + Example: ``` import flet as ft @@ -51,6 +51,7 @@ def button_clicked(e): Online docs: https://flet.dev/docs/controls/dropdown """ + def __init__( self, ref: Optional[Ref] = None, @@ -93,6 +94,7 @@ def __init__( focused_border_width: OptionalNumber = None, focused_border_color: Optional[str] = None, content_padding: PaddingValue = None, + dense: Optional[bool] = None, filled: Optional[bool] = None, hint_text: Optional[str] = None, hint_style: Optional[TextStyle] = None, @@ -163,6 +165,7 @@ def __init__( focused_border_width=focused_border_width, focused_border_color=focused_border_color, content_padding=content_padding, + dense=dense, filled=filled, hint_text=hint_text, hint_style=hint_style, diff --git a/sdk/python/flet/form_field_control.py b/sdk/python/flet/form_field_control.py index bb300d2e1..6ef1d3555 100644 --- a/sdk/python/flet/form_field_control.py +++ b/sdk/python/flet/form_field_control.py @@ -78,6 +78,7 @@ def __init__( focused_border_width: OptionalNumber = None, focused_border_color: Optional[str] = None, content_padding: PaddingValue = None, + dense: Optional[bool] = None, filled: Optional[bool] = None, hint_text: Optional[str] = None, hint_style: Optional[TextStyle] = None, @@ -142,6 +143,7 @@ def __init__( self.focused_border_color = focused_border_color self.content_padding = content_padding self.filled = filled + self.dense = dense self.hint_text = hint_text self.hint_style = hint_style self.helper_text = helper_text @@ -341,6 +343,15 @@ def content_padding(self) -> PaddingValue: def content_padding(self, value: PaddingValue): self.__content_padding = value + # dense + @property + def dense(self) -> Optional[bool]: + return self._get_attr("dense") + + @dense.setter + def dense(self, value: Optional[bool]): + self._set_attr("dense", value) + # filled @property def filled(self) -> Optional[bool]: diff --git a/sdk/python/flet/textfield.py b/sdk/python/flet/textfield.py index 5666ca2ca..01bf2a9a4 100644 --- a/sdk/python/flet/textfield.py +++ b/sdk/python/flet/textfield.py @@ -68,7 +68,7 @@ class TextCapitalization(Enum): class TextField(FormFieldControl): """ A text field lets the user enter text, either with hardware keyboard or with an onscreen keyboard. - + Example: ``` import flet as ft @@ -94,6 +94,7 @@ def button_clicked(e): Online docs: https://flet.dev/docs/controls/textfield """ + def __init__( self, ref: Optional[Ref] = None, @@ -136,6 +137,7 @@ def __init__( focused_border_width: OptionalNumber = None, focused_border_color: Optional[str] = None, content_padding: PaddingValue = None, + dense: Optional[bool] = None, filled: Optional[bool] = None, hint_text: Optional[str] = None, hint_style: Optional[TextStyle] = None, @@ -221,6 +223,7 @@ def __init__( focused_border_width=focused_border_width, focused_border_color=focused_border_color, content_padding=content_padding, + dense=dense, filled=filled, hint_text=hint_text, hint_style=hint_style,