2525from flet .container import Container
2626from flet .icon import Icon
2727from flet .list_view import ListView
28+ from flet .progress_bar import ProgressBar
2829from flet .radio import Radio
2930from flet .radio_group import RadioGroup
3031from flet .stack import Stack
@@ -39,9 +40,17 @@ def main(page: Page):
3940 page .theme_mode = "light"
4041 page .padding = padding .all (20 )
4142
43+ prgb = ProgressBar (visible = False )
44+
4245 def chat_submit (e ):
4346 print (f"Submit FieldText: { e .control .value } " )
4447 e .control .value = ""
48+ form .disabled = True
49+ prgb .visible = True
50+ page .update ()
51+ sleep (2 )
52+ form .disabled = False
53+ prgb .visible = False
4554 page .update ()
4655
4756 chat_input = TextField (
@@ -51,61 +60,62 @@ def chat_submit(e):
5160 on_submit = chat_submit ,
5261 )
5362
54- page .add (
55- Column (
56- [
57- Text ("Outlined TextField" , style = "headlineMedium" ),
58- TextField (),
59- Text (
60- "Outlined TextField with Label, Hint and Helper text" ,
61- style = "headlineSmall" ,
62- ),
63- TextField (
64- label = "Full name" ,
65- hint_text = "Enter your full name" ,
66- helper_text = "Hint text is visible when TextField is empty and focused" ,
67- ),
68- Text (
69- "Underlined, filled and multiline TextField" ,
70- style = "headlineSmall" ,
71- ),
72- TextField (
73- label = "Comments" ,
74- helper_text = "Tell something about us" ,
75- border = "underline" ,
76- filled = True ,
77- min_lines = 1 ,
78- ),
79- Text (
80- "New line - Shift + Enter and submit on Enter" ,
81- style = "headlineSmall" ,
82- ),
83- chat_input ,
84- Text (
85- "Login with email/password" ,
86- style = "headlineSmall" ,
87- ),
88- TextField (
89- label = "Email" ,
90- prefix_icon = icons .EMAIL ,
91- border = "underline" ,
92- keyboard_type = "email" ,
93- filled = True ,
94- ),
95- TextField (
96- label = "Password" ,
97- prefix_icon = icons .PASSWORD_SHARP ,
98- border = "underline" ,
99- password = True ,
100- can_reveal_password = True ,
101- filled = True ,
102- ),
103- ],
104- scroll = "always" ,
105- expand = 1 ,
106- width = 600 ,
107- ),
63+ form = Column (
64+ [
65+ prgb ,
66+ Text ("Outlined TextField" , style = "headlineMedium" ),
67+ TextField (),
68+ Text (
69+ "Outlined TextField with Label, Hint and Helper text" ,
70+ style = "headlineSmall" ,
71+ ),
72+ TextField (
73+ label = "Full name" ,
74+ hint_text = "Enter your full name" ,
75+ helper_text = "Hint text is visible when TextField is empty and focused" ,
76+ ),
77+ Text (
78+ "Underlined, filled and multiline TextField" ,
79+ style = "headlineSmall" ,
80+ ),
81+ TextField (
82+ label = "Comments" ,
83+ helper_text = "Tell something about us" ,
84+ border = "underline" ,
85+ filled = True ,
86+ min_lines = 1 ,
87+ ),
88+ Text (
89+ "New line - Shift + Enter and submit on Enter" ,
90+ style = "headlineSmall" ,
91+ ),
92+ chat_input ,
93+ Text (
94+ "Login with email/password" ,
95+ style = "headlineSmall" ,
96+ ),
97+ TextField (
98+ label = "Email" ,
99+ prefix_icon = icons .EMAIL ,
100+ border = "underline" ,
101+ keyboard_type = "email" ,
102+ filled = True ,
103+ ),
104+ TextField (
105+ label = "Password" ,
106+ prefix_icon = icons .PASSWORD_SHARP ,
107+ border = "underline" ,
108+ password = True ,
109+ can_reveal_password = True ,
110+ filled = True ,
111+ ),
112+ ],
113+ scroll = "always" ,
114+ expand = 1 ,
115+ width = 600 ,
108116 )
109117
118+ page .add (form )
119+
110120
111121flet .app (name = "test1" , port = 8550 , target = main , view = flet .WEB_BROWSER )
0 commit comments