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

Entity struct for events configuration.

Allows overriding event handling modules at DSL level.

## Usage

Override entire events module (positional argument):

    events MyApp.Table.CustomEvents

Override specific sub-builders (block syntax):

    events do
      sanitization MyApp.Table.Events.SanitizationHandler
      record MyApp.Table.Events.RecordHandler
      selection MyApp.Table.Events.SelectionHandler
      bulk_action MyApp.Table.Events.BulkActionHandler
      hooks MyApp.Table.Events.HookRunner
      relation_filter MyApp.Table.Events.RelationFilterHandler
    end

## Defaults

When no overrides are specified, the following defaults are used:

- `sanitization` - `MishkaGervaz.Table.Web.Events.SanitizationHandler.Default`
- `record` - `MishkaGervaz.Table.Web.Events.RecordHandler.Default`
- `selection` - `MishkaGervaz.Table.Web.Events.SelectionHandler.Default`
- `bulk_action` - `MishkaGervaz.Table.Web.Events.BulkActionHandler.Default`
- `hooks` - `MishkaGervaz.Table.Web.Events.HookRunner.Default`
- `relation_filter` - `MishkaGervaz.Table.Web.Events.RelationFilterHandler.Default`

See `MishkaGervaz.Table.Dsl.Events` and
`MishkaGervaz.Table.Web.Events`.

# `t`

```elixir
@type t() :: %MishkaGervaz.Table.Entities.Events{
  __spark_metadata__: map() | nil,
  bulk_action: module() | nil,
  hooks: module() | nil,
  module: module() | nil,
  record: module() | nil,
  relation_filter: module() | nil,
  sanitization: module() | nil,
  selection: module() | nil
}
```

# `transform`

Transform the events after DSL compilation.

---

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