Coverage for gws-app/gws/plugin/model_widget/input/__init__.py: 100%

12 statements  

« prev     ^ index     » next       coverage.py v7.16.2, created at 2026-10-05 13:35 +0200

1"""Simple input widget. 

2 

3Single-line text input with an optional placeholder text. This is the default 

4widget of ``text``, ``datetime`` and ``time`` fields. 

5 

6Example:: 

7 

8 fields+ { 

9 name "name" 

10 type "text" 

11 widget { type "input" placeholder "Name" } 

12 } 

13""" 

14 

15import gws 

16import gws.base.model.widget 

17 

18 

19@gws.ext.config.modelWidget('input') 

20class Config(gws.base.model.widget.Config): 

21 """Single-line text input.""" 

22 

23 placeholder: str = '' 

24 """Hint text shown in the empty input.""" 

25 

26 

27@gws.ext.props.modelWidget('input') 

28class Props(gws.base.model.widget.Props): 

29 placeholder: str 

30 

31 

32@gws.ext.object.modelWidget('input') 

33class Object(gws.base.model.widget.Object): 

34 """Simple input widget object.""" 

35 

36 def props(self, user): 

37 return gws.u.merge( 

38 super().props(user), 

39 placeholder=self.cfg('placeholder'), 

40 )