Crate rat_ftable

source ·
Expand description

crates.io Documentation License License

§Table widget based on ratatui.

Could be used as a drop-in replacement for the ratatui table. But that’s not the point of this widget.

This widget uses the TableData trait instead of rendering all the table-cells and putting them into a Vec. This way rendering time only depends on the screen-size not on the size of your data.

There is a variant that takes an Iterator of TableRowData. It has as few traps though. If the Iterator doesn’t have an efficient skip() or if you can’t give the number of rows this will iterate all your data for the necessary information. This might slow down everything a bit.

image

More bullet points:

  • Row and Column offset for rendering.
  • Pluggable selection with TableSelection
    • Allows row/column/cell selection.
    • Row/column/cell selection + Header/Footer selection each with its own style.
  • Basic key/mouse handling present.

Eventhandling is currently crossterm only. In practice event-handling is calling 1 or 2 functions on the state, so this should be easy to map to other systems. (Contributions welcome :)

Modules§

  • Editing support for FTable.
  • Eventhandling.
  • Different selection models for FTable.
  • Implements a Row and a Cell struct that are compatible to ratatui. You only need these if you use preformatted data.

Structs§

Traits§

  • Trait for accessing the table-data by the FTable.
  • Trait for accessing the table-data by the FTable.
  • Trait for the different selection models used by FTable.

Functions§