Modules
Masu (枡) adds data grids to a Phoenix app.
An item of a grid's menus of your own: in a column's header menu
(:header_action), or in the menu of a cell (:cell_action), which a
right click opens, or the context-menu key or Shift+F10 on the active
cell.
A column of a grid: which value of a row it shows, how, and what a person may do with it.
The grid component.
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.
A condition on a column that a row must meet to be in the grid.
The LiveComponent behind Masu.Components.data_grid/1.
Rows grouped by the values of columns, with totals.
How a grid lays out its columns: their order, which are hidden, which are pinned to the start or the end, and their widths.
Live rows: a grid that follows a PubSub topic, and shows the rows that change on it as they change.
Who else has a grid open, and where they are: the people of a grid,
with Phoenix.Presence.
What a person asked of a grid: its order, its filters and its search.
The route a grid's exports download from.
An order of a grid's rows: a column, and a direction.
Where a grid's rows come from.
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}>.
A source's read failed: Masu.Source.rows/3 gave {:error, reason}.
A grid with load={:async} shows it; one that reads inline raises it.
The source of a grid given its rows: <.data_grid rows={@users}>.
Helpers for Phoenix.LiveViewTest, to read and query the grids of a
LiveView with no browser.
Rows in a tree: children with the columns of their parent, indented, opened and closed.
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).
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.
Views in a table of your database (see Masu.Views).
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.
Mix Tasks
Builds the Masu grid into priv/static.
Writes the migration of the table where Masu.Views.Ecto keeps
people's views of grids.
Sets up Masu in a Phoenix application.
Checks the built files before a release of Masu.