Mendix 7 is no longer supported unless you have Extended Support (for details, please contact Mendix Support). Mendix 7 documentation will remain available for customers with Extended Support until July, 2024.

Action Button

Last modified: August 2, 2022

An action button can perform various actions such as calling a microflow or nanoflow or opening a page.

Button properties

Caption

The caption defines the text that will be shown. The template can contain parameters that are written as a number between braces, e.g. {1}. The first parameter has number 1, the second 2 etcetera. Note that to use template parameters the widget must be placed in a context of an entity, e.g. inside a data view or list view. The parameters will be replaced by the values of the attributes.

Tooltip

The tooltip property determines the text you will see in the tooltip that appears when you hover over the button. The tooltip text is translatable. See Translatable Texts. If the tooltip is not specified, no tooltip will be shown when hovering over the button.

Image

This property indicates which image will be shown in front of the caption of the button.

Icon

The icon property determines the icon that will be shown in front of the caption of the button. There are three options: no icon, a glyph icon or a (bitmap) image. Glyph icons come from the Bootstrap Halflings collection. The advantages of a glyph icon over a bitmap image are that glyphs are scalable, look sharp on high-resolution screens and their color can be changed by changing the font color. The advantage of an image icon is that it can have multiple colors.

Render mode

This property indicates how the button is rendered.

Value Description
Button The trigger is rendered as a button.
Link The trigger is rendered as a hyperlink.

Default value: Button

Button Style

This property applies a predefined styling to the button.

Disable during action (only for microflow actions)

Disables the action button until the action is completed or failed.

Default value : false.

Common properties

Name

The internal name of the widget. You can use this to give sensible names to widgets. The name property also appears in the generated HTML: the widget DOM element automatically includes the class mx-name-{NAME}, which can be useful for Selenium testing.

Class

The class property allows you to specify one or more cascading style sheet (CSS) classes for the widget. The classes should be separated by a space. The classes will be applied to the widget in the browser and the widget will get the corresponding styling. The classes should be classes in the theme that is used in the project. It overrules the default styling of the widget.

Styling is applied in the following order:

  1. the default styling defined by the theme the project uses
  2. the Class property of the widget
  3. the Style property of the widget.

You can see which widgets in a page have styling applied via the class or style property by clicking the Show styles button.

Location and effect of the Show styles button

Style

The style property allows you to specify additional CSS styling. If a class is also specified, this styling is applied after the class.

For example:

background-color:lightblue; color:red;

will result in red text on a blue background.

You can see which widgets in a page have styling applied via the style or class property by clicking the Show styles button.

Tab index

The tab index influences the order in which the end user navigates through the page using the tab key. By default tab indices are zero and the tab order is determined automatically by the client system. A value of minus one (-1) means that the widget will be skipped when tabbing through the page.

Default value: 0

Events properties

On Click

This property specifies what action is executed when the element is clicked. These are the options:

Action Effect
Do nothing Nothing happens. This is useful for setting up a page without defining the underlying functionality yet.
Show a page The specified page is shown.
Call a microflow The specified microflow is executed.
Call a nanoflow The specified nanoflow is executed.
Open link Triggers an action based on the link type, some of which are specific to mobile devices.
Create object Creates a new object
Save changes Commits all changes made on the page.
Cancel changes Rolls back all changes made on the page.
Close page Closes the pop-up window (for pop-up pages) or navigates to the previously visited page (for content pages).
Delete Deletes an object.
  • When placed in a data view, deletes the object to which the data view is bound; it does not delete objects in a nested data view unless configured through delete behavior
  • When placed on a data grid, template grid, or reference set selector control bar, deletes the selected object(s)
  • When placed inside a list view template, deletes the current item of the list view
Synchronize Synchronizes the data stored locally on your device with the server database.
Sign out Signs out the currently signed-in user. When no user is signed in, pressing this button has no effect.

Default value: Do nothing

Page (Only for “Show a page”)

The page that should be shown.

See Opening Pages.

Page for Specializations (Only for “Show a page”)

Allows you to configure a different page for each specialization of the context object. If this action is placed inside a data view, it is possible to configure different page(s) for each specialization of the data view object. If this action is placed in a data grid, it is possible to configure different pages for each specialization of the grid entity. This setting is not visible when there is not a context object or when the context object has no specializations.

Microflow (Only for “Call a microflow”)

The microflow that should be executed.

Microflow Settings (Only for “Call a microflow”)

The microflow settings specify what parameters will be passed to the microflow, whether to show a progress bar or not, and more.

See Starting Microflows.

Nanoflow (Only for “Call a nanoflow”)

The nanoflow that should be executed.

This specifies the type of action triggered when pressing the button. These are the options:

Value Description
Web Navigate to a website URL.
Email Compose an email.
Call Start a phone call.
Text Send a text message.

Default value: Web

Address (Only for “Open link”)

Usage of the address property depends on the chosen link type. The property is used either as a URL (Web), as an email address (Email), or as a phone number (Call/Text).

The address can be set to either a literal value, or an attribute value.

Address Value (Only for “Open link”)

If a literal value is chosen for the address, you can enter the value here.

Address Attribute (Only for “Open link”)

If an attribute is chosen for the address, you can select the attribute here. An address attribute specifies a path to an attribute. The path starts at the entity of the data view in which the link button is contained.

Close Page (Only for “Save changes”, “Cancel changes”, and “Delete”)

This flag indicates whether the current page should be closed.

Sync Automatically (Only for “Save changes”)

When an object is saved in a Mendix application running in an offline profile, this information is stored in a local database until it can be synchronized with the server. In practice, this means that uploading a new object to the server requires two distinct actions: saving the object and syncing it.

This flag indicates whether synchronization should happen when the save button is clicked.

Entity (path) (Only for “Create object”)

Specifies which entity to create. It is also possible to choose an association (if available) from the context object.

  • If an entity is configured, a new instance of the entity will be created
  • If an entity through association from the context object is configured, a new instance of the entity will be created and associated with the context object

On Click Page (Only for “Create object”)

Specifies which page should be shown with the new created object. This page must accept a context parameter object with the same or sub-type of the created entity.

Visibility properties

Visible

By default, whether or not an element is displayed in the browser is determined by how the page is designed and the user’s roles within the application. However, the page can be configured to hide the element unless a certain condition is met.

Context

The widget can be made visible only if the object of the data view that contains the widget satisfies the specificied criteria.

A practical example would be a web shop in which the user must submit both billing and delivery information. In this case, you might not wish to bother the user with a second set of address input fields unless they indicate that the billing address and delivery address are not the same. You can accomplish this by making the delivery address fields conditionally visible based on the Boolean attribute SameBillingAndDeliveryAddress.

Based on Attribute Value

When selected, this shows the widget while a particular attribute has a certain value. Only boolean and enumeration attributes can be used for this purpose.

Based on Expression

Added in Mendix 7.1.

When selected, this shows the widget while a provided expression evaluates to true. The object of the containing data view is available inside an expression as a $currentObject variable.

Note that the expression is evaluated in the browser, and hence, we advise against using “secret” values (like access keys) in it. In particular, we disallow usages of constants. Also, client-side expressions currently do not support all the functions that are available in the microflows. Please refer to an autocomplete list to know what functions are supported in your version.

Module Roles

The widget can be made visible to a subset of the user roles available in your application. These are the three options available:

Option Description
Applicable roles All access determined by page and microflow access is maintained. For instance, if the user does not have access to the microflow triggered by a certain microflow button, that button will remain hidden from that user.
All roles This setting overrides the setting above, rendering the element visible to all users, regardless of the security settings. Note that this does not provide the user access to the restricted data, it merely unveils the element. In the example above, the microflow button would become visible, but clicking it would still result in a return to the login page or an error.
Selected roles The widget can be made visible to a subset of the user roles available in your application. When activated, this setting will render the widget invisible to all the users that are not linked to one of the selected user roles. This does not provide the user access to the restricted data in the same way as the previous option.