# `MishkaGervaz.Table.Entities.RowAction`
[🔗](https://github.com/mishka-group/mishka_gervaz/blob/v0.0.1-alpha.3/lib/mishka_gervaz/table/entities/row_action.ex#L1)

Entity struct for row action configuration.

See `MishkaGervaz.Table.Dsl.RowActions`,
`MishkaGervaz.Table.Entities.RowAction.Ui`,
`MishkaGervaz.Table.Entities.RowActionDropdown`,
`MishkaGervaz.Table.Entities.DropdownSeparator`,
`MishkaGervaz.Table.Types.Action` (type registry), and
`MishkaGervaz.Table.Web.State.ActionBuilder`.

# `action_type`

```elixir
@type action_type() ::
  :link
  | :modal
  | :event
  | :edit
  | :destroy
  | :update
  | :accordion
  | :unarchive
  | :permanent_destroy
  | :row_click
```

# `t`

```elixir
@type t() :: %MishkaGervaz.Table.Entities.RowAction{
  __identifier__: term(),
  __spark_metadata__: map() | nil,
  action: atom() | {atom(), atom()} | nil,
  confirm: String.t() | (map() -&gt; String.t()) | nil,
  event: atom() | String.t() | nil,
  js: (map() -&gt; Phoenix.LiveView.JS.t()) | nil,
  name: atom(),
  path: String.t() | (map() -&gt; String.t()) | nil,
  payload: (map() -&gt; map()) | nil,
  render:
    (map() -&gt; any())
    | (map(), map() -&gt; any())
    | (map(), map(), any() -&gt; any())
    | nil,
  restricted: boolean(),
  type: action_type(),
  type_module: module() | nil,
  ui: MishkaGervaz.Table.Entities.RowAction.Ui.t() | nil,
  visible: boolean() | :active | :archived | (map(), map() -&gt; boolean())
}
```

# `transform`

Transform the row action after DSL compilation.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
