| |
@@ -29,8 +29,8 @@
|
| |
viewing the widget, it will only be available in the widget
|
| |
configuration.
|
| |
render_tag (str): The HTML tag to use when rendering.
|
| |
- render_type (str): The HTML type attribute to use when rendering if the
|
| |
- tag is ``input``.
|
| |
+ render_attributes (dict): A mapping of HTML attribute names to values
|
| |
+ to use when rendering.
|
| |
"""
|
| |
|
| |
_defaults = {
|
| |
@@ -40,13 +40,15 @@
|
| |
"validator": Noop,
|
| |
"secret": False,
|
| |
"render_tag": "input",
|
| |
- "render_type": "text",
|
| |
+ "render_attributes": {},
|
| |
}
|
| |
|
| |
def __init__(self, name, **kwargs):
|
| |
self.name = name
|
| |
for attr, default in self._defaults.items():
|
| |
setattr(self, attr, kwargs.pop(attr, default))
|
| |
+ if self.render_tag == "input" and "type" not in self.render_attributes:
|
| |
+ self.render_attributes["type"] = "text"
|
| |
for kw in kwargs:
|
| |
raise TypeError("Invalid argument: %s" % kw)
|
| |
|
| |
@@ -60,6 +62,6 @@
|
| |
label=self.label,
|
| |
default=self.default,
|
| |
renderTag=self.render_tag,
|
| |
- renderType=self.render_type,
|
| |
+ renderAttributes=self.render_attributes,
|
| |
help=self.help,
|
| |
)
|
| |
Commit f6a511b did not bring enough flexibility to the widget parameters. This commit takes a more generic approach.