# Masu v0.7.0 - Table of Contents > Tables for Phoenix: a virtualized data grid for LiveView, with sorting and filtering in your database, keyboard navigation and copy to spreadsheets. ## Pages - [Masu](readme.md) - [Changelog](changelog.md) - Guides - [Quickstart](quickstart.md) - [Columns](columns.md) - [Sources](sources.md) - [Filters](filters.md) - [Editing](editing.md) - [Editors of your own](editors.md) - [Kotoba: rich text in cells](kotoba.md) - [Koyomi: pickers for dates, times and ranges](koyomi.md) - [Live rows](live.md) - [Collaboration](collaboration.md) - [Upgrading](upgrading.md) - [History](history.md) - [Layout and views](views.md) - [In a document](documents.md) - [Trees and details](trees.md) - [Groups and totals](groups.md) - [Export, selection and large tables](export.md) - [Actions](actions.md) - [Menus of your own](menus.md) - [Keyboard and copy](keyboard.md) - [Testing](testing.md) - [Theming](theming.md) - Reference - [Accessibility](accessibility.md) - [Known limits](limits.md) ## Modules - [Masu.Issho.Place](Masu.Issho.Place.md): A place in a Masu grid, in the grid's own terms (rows by their ids, columns by their keys, never screen pixels, as each person has their own order, filters and scroll): where a person is, where their pointer is, where an agent goes (`Issho.Motion`), what an app keeps of them. Its format is part of Masu's public API, and only grows. - Grid - [Masu](Masu.md): Masu (枡) adds data grids to a Phoenix app. - [Masu.Action](Masu.Action.md): Actions of your own, on a grid: on the rows selected (`:action`), on a row (`:row_action`), and items of its menus, in a column's header menu (`:header_action`) or in the menu of a cell (`:cell_action`). - [Masu.Column](Masu.Column.md): A column of a grid: which value of a row it shows, how, and what a person may do with it. - [Masu.Components](Masu.Components.md): The grid component. - [Masu.Grid](Masu.Grid.md): The LiveComponent behind `Masu.Components.data_grid/1`. - [Masu.Group](Masu.Group.md): Rows grouped by the values of columns, with totals. - [Masu.Live](Masu.Live.md): Live rows: a grid that follows a PubSub topic, and shows the rows that change on it as they change. - [Masu.Messages](Masu.Messages.md): The words of a grid, in English: its labels, its menus' items, the filters' operators, what it announces to screen readers. - [Masu.Tree](Masu.Tree.md): Rows in a tree: children with the columns of their parent, indented, opened and closed. - Writes - [Masu.Sheet](Masu.Sheet.md): A grid outside the LiveView: its rows, and its writes, for a job, a test, or an agent (`Masu.Issho`). The writes go the grid's way: its changeset or its `on_update`, its read-only rules, the compare of a cell someone changed meanwhile, its history, and its `live` topic, so the people who have the grid open see each change as it lands. - [Masu.Wire](Masu.Wire.md): A value of your own type, as the browser gets it in a cell: what the cell shows (formatted by the column's type), what a copy and an export take, and what a filter of the browser compares. - [Masu.Write](Masu.Write.md): A write of a grid's rows: cells edited, new rows, rows deleted or brought back. Every change a person makes to the rows goes through one, whoever saves it. - [Masu.Write.Change](Masu.Write.Change.md): A change of a row in a `Masu.Write` - Collaboration - [Masu.Issho](Masu.Issho.md): Masu's grids in [Issho](https://hex.pm/packages/issho)'s rooms: agents read and change a grid as a person does, and the people who have it open see where they are and what they change. - History - [Masu.History](Masu.History.md): Where a grid keeps the history of its cells: who changed a cell, when, from what to what; and a value of the history brought back. - [Masu.History.Ecto](Masu.History.Ecto.md): The history of grids in a table of any Ecto repo (see `Masu.History`): the grid's own, or one of its own, in another database. - [Masu.History.Entry](Masu.History.Entry.md): A change of a grid's rows, as `Masu.History` keeps it - [Masu.History.Memory](Masu.History.Memory.md): The history of grids in memory, for development and tests: it lasts as long as the node, and every grid of the node shares it. Not for production. - Queries - [Masu.Filter](Masu.Filter.md): A condition on a column that a row must meet to be in the grid. - [Masu.Query](Masu.Query.md): What a person asked of a grid: its order, its filters and its search. - [Masu.Sort](Masu.Sort.md): An order of a grid's rows: a column, and a direction. - Views - [Masu.Layout](Masu.Layout.md): How a grid lays out its columns: their order, which are hidden, which are pinned to the start or the end, and their widths. - [Masu.View](Masu.View.md): A person's view of a grid: its query (`Masu.Query`: order, filters and search) and its layout (`Masu.Layout`: the order, visibility, pins and widths of its columns). - [Masu.Views](Masu.Views.md): Where a grid keeps people's views: the last view of each person, which the grid restores when they come back, and named views ("My open orders") that a person saves for themselves or shares with everyone. - [Masu.Views.Ecto](Masu.Views.Ecto.md): Views in a table of your database (see `Masu.Views`). - [Masu.Views.Memory](Masu.Views.Memory.md): Views in memory, for development and tests: they last as long as the node, and every grid of the node shares them. Not for production. - Sources - [Masu.Source](Masu.Source.md): Where a grid's rows come from. - [Masu.Source.Ecto](Masu.Source.Ecto.md): The source of a grid given an Ecto query or schema and a repo: `<.data_grid source={from(o in Order, where: o.shop_id == ^shop.id)} repo={Repo}>`. - [Masu.Source.List](Masu.Source.List.md): The source of a grid given its rows: `<.data_grid rows={@users}>`. - Export - [Masu.Export](Masu.Export.md): A grid's rows as a file: CSV or XLSX, of every row of the person's query (their order, filters and search), with the columns that show, in their order, and their labels as the first row. - [Masu.Router](Masu.Router.md): The route a grid's exports download from. - [Masu.Snapshot](Masu.Snapshot.md): A grid's rows as they are now, as a table that reads without the grid: Markdown, for a document exported with a grid in it (a Kotoba embed), and HTML, for a page or an email that shows the document. - Testing - [Masu.Test](Masu.Test.md): Helpers for `Phoenix.LiveViewTest`, to read and query the grids of a LiveView with no browser. - Exceptions - [Masu.Source.Error](Masu.Source.Error.md): A source's read failed: `c:Masu.Source.rows/3` gave `{:error, reason}`. A grid with `load={:async}` shows it; one that reads inline raises it. ## Mix Tasks - [mix masu.build](Mix.Tasks.Masu.Build.md): Builds the Masu grid into `priv/static`. - [mix masu.gen.history](Mix.Tasks.Masu.Gen.History.md): Writes the migration of the table where `Masu.History.Ecto` keeps the history of grids' cells, for the repo that keeps it (the app's own, or another: `--migrations-path priv/history_repo/migrations`). - [mix masu.gen.views](Mix.Tasks.Masu.Gen.Views.md): Writes the migration of the table where `Masu.Views.Ecto` keeps people's views of grids. - [mix masu.install](Mix.Tasks.Masu.Install.md): Sets up Masu in a Phoenix application. - [mix masu.release_check](Mix.Tasks.Masu.ReleaseCheck.md): Checks the built files before a release of Masu.