# `Masu.History.Entry`
[🔗](https://github.com/hattoriai/masu/blob/v0.7.0/lib/masu/history.ex#L77)

A change of a grid's rows, as `Masu.History` keeps it:

  * `grid` - the grid's id;
  * `row_id` - the row's id, as the browser has it;
  * `key` - the column's key; nil for the row (`op` `:create` or
    `:delete`);
  * `op` - `:update` (a cell), `:create` or `:delete` (a row);
  * `before` and `after` - the cell's value before and after, as the
    browser gets them (`Masu.Wire`); for a row, its cells' values by
    column key;
  * `user_id` and `user_name` - who, from the grid's `user`;
  * `origin` - what they did, as `Masu.Write`'s `origin` says
    (`:edit`, `:paste`, `:restore`...);
  * `batch` - the write it was part of;
  * `at` - when;
  * `id` - the store's id of it.

# `t`

```elixir
@type t() :: %Masu.History.Entry{
  after: term(),
  at: DateTime.t(),
  batch: String.t() | nil,
  before: term(),
  grid: String.t(),
  id: String.t() | nil,
  key: String.t() | nil,
  op: :update | :create | :delete,
  origin: atom(),
  row_id: term(),
  user_id: String.t() | nil,
  user_name: String.t() | nil
}
```

---

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