## Hyperlink

### Description

The hyperlink widget can be used to display a read-only piece of text in your user interface and allow the user to click on it. Its behavior is almost the same as the label or the text widgets. On top of the common properties of all widgets (identifier, labelExpression, helpExpression, isEnabledExpression, propertyValidationRules), it has the following properties:

- valueExpression: This expression is used in order to compute the text of the hyperlink.
- displayExpression: This expression will have access to the result of the valueExpression thanks to a variable named value and it should return a string. If this expression is blank, a call to java.lang.Object#toString() will be performed on the result of the valueExpression instead.
- onClickExpression: This expression will be executed once the end user will click on the hyperlink. This expression does not have to return anything.
- style: The style of the hyperlink widget.
- conditionalStyles: All the conditional styles of the hyperlink widget.
- actions: All the widget actions of the hyperlink. Widget actions will be represented in the user interface by buttons.

A widget action contains only the following properties:

- labelExpression: This expression is used to compute the label of the button. It should return a string.
- actionExpression: This expression is used to define the behavior of the button. It will be executed when the end user will click on the button. It should not return anything.

### Display an action

In order to create a hyperlink widget, you can use the following properties:

- valueExpression: `aql:'Click'`
- displayExpression: `aql:value`
- onClickExpression: `aql:self.doSomething()`

EEF does not provide a default interpreter but you can easily configure EEF to be used with the AQL interpreter. In the integration of EEF with the AQL interpreter, you can register additional services, written in Java, in which you can expose to AQL new operations.