# LayoutAction
> Something the server does when a layout element is interacted with.
`gg.lode.lecternapi.api.ui.LayoutAction`
---
## Signature
```java
public record LayoutAction(String element, Trigger trigger, Type type, String value)
```
---
## Notes
Actions are the reason a layout can be a menu rather than a display. An element names itself with
a reference; an action binds a trigger on that reference to an effect, run a command, play a
sound, open another layout. The client reports the interaction, the server decides what it means,
which is the only arrangement that keeps a clicked button from being something a client can
simply claim to have run.
An action with an empty `element()` belongs to the layout itself rather than to any one
element, which is how `Trigger.OPEN` and `Trigger.CLOSE` are usually written.
---
## Variants
| Type | Description |
|---|---|
| `Trigger` | What has to happen for an action to fire. Values: `CLICK`, `RIGHT_CLICK`, `HOVER`, `HOVER_END` |
| `Type` | What an action does. Values: `COMMAND`, `CONSOLE`, `MESSAGE`, `SOUND`, `TELEPORT`, `REDIRECT`, `CLOSE` |
---
## Methods
### isLayoutScoped
```java
public boolean isLayoutScoped()
```
Whether this action belongs to the layout rather than to a single element.
---