MishkaGervaz.Table.Templates.Table (MishkaGervaz v0.0.2)

Copy Markdown View Source

Default table template with rows and columns layout.

This is the traditional data table layout with:

  • Column headers with sorting
  • Row-based data display
  • Row selection checkboxes
  • Inline row actions

Features

  • :sort - Click column headers to sort
  • :filter - Filter controls above table
  • :select - Row selection with checkboxes
  • :bulk_actions - Actions on selected rows
  • :paginate - Pagination controls
  • :expand - Expandable row details

Performance

Uses @static.* for columns, ui_adapter, etc. (no re-render on user interaction) Uses @state.* for page, filter_values, etc. (re-renders when changed)

See MishkaGervaz.Table.Behaviours.Template, MishkaGervaz.Table.Templates.Shared (shared render helpers), MishkaGervaz.Table.Templates.MediaGallery, and MishkaGervaz.Table.Web.Renderer.

Summary

Functions

render_bulk_actions(assigns)

Callback implementation for MishkaGervaz.Table.Behaviours.Template.render_bulk_actions/1.

render_empty(assigns)

Callback implementation for MishkaGervaz.Table.Behaviours.Template.render_empty/1.

render_error(assigns)

Callback implementation for MishkaGervaz.Table.Behaviours.Template.render_error/1.

render_loading(assigns)

The default loading state: the table's own header, and a spinner where the rows will be.

Without a state there is no header to draw, and this is the spinner alone.

render_pagination(assigns)

Callback implementation for MishkaGervaz.Table.Behaviours.Template.render_pagination/1.

render_template_switcher(assigns)

Callback implementation for MishkaGervaz.Table.Behaviours.Template.render_template_switcher/1.