Action#
Base class: Fragment
The Action
class describes buttons and links.
Examples:
# Link
Action(attrs__href='http://example.com')
# Link with icon
Action.icon('edit', attrs__href="edit/")
# Button
Action.button(display_name='Button title!')
# A submit button
Action.submit(display_name='Do this')
# The primary submit button on a form.
Action.primary()
# Notice that because forms
# with a single primary submit button are so common, iommi assumes
# that if you have a action called submit and do NOT explicitly
# specify the action that it is a primary action. This is only
# done for the action called submit, inside the Forms actions
# Namespace.
#
# For that reason this works:
class MyForm(Form):
class Meta:
@staticmethod
def actions__submit__post_handler(form, **_):
if not form.is_valid():
return
...
# and is roughly equivalent to
def on_submit(form, **_):
if not form.is_valid():
return
class MyOtherForm(Form):
class Meta:
actions__submit = Action.primary(post_handler=on_submit)
Refinable members#
after
Type:
Union[int, str]
assets
Type:
Namespace
attrs
Type: Attrs
children
display_name
Type:
str
Default:
lambda action, **_: capitalize(action._name).replace('_', ' ')
endpoints
Type:
Namespace
extra
Type:
Dict[str, Any]
extra_evaluated
Type:
Dict[str, Any]
group
Type:
str
include
Type:
bool
iommi_style
Type:
str
post_handler
Type:
Callable
tag
Default:
a
template
Type:
Union[str, iommi._web_compat.Template]
Shortcuts#
delete
#
icon
#
primary
#
submit
#
Defaults#
attrs__accesskey
s
attrs__name
lambda action, **_: action.own_target_marker()
display_name
Submit