Coverage for gws-app/gws/plugin/model_widget/toggle/__init__.py: 92%
12 statements
« prev ^ index » next coverage.py v7.16.2, created at 2026-10-05 13:35 +0200
« prev ^ index » next coverage.py v7.16.2, created at 2026-10-05 13:35 +0200
1"""Toggle input widget.
3Checkbox or radio button for boolean values. This is the default widget of
4``bool`` fields.
6Example::
8 fields+ {
9 name "is_active"
10 type "bool"
11 widget { type "toggle" kind "checkbox" }
12 }
13"""
15import gws
16import gws.base.model.widget
19@gws.ext.config.modelWidget('toggle')
20class Config(gws.base.model.widget.Config):
21 """Checkbox or radio button for boolean values."""
23 kind: str = 'checkbox'
24 """Toggle kind: checkbox or radio."""
27@gws.ext.props.modelWidget('toggle')
28class Props(gws.base.model.widget.Props):
29 kind: str
32@gws.ext.object.modelWidget('toggle')
33class Object(gws.base.model.widget.Object):
34 """Toggle input widget object."""
36 def props(self, user):
37 return gws.u.merge(
38 super().props(user),
39 kind=self.cfg('kind', default='checkbox'),
40 )