#table #ratatui #large

rat-ftable

ratatui table widget for large data

29 releases (12 breaking)

new 0.28.1 Dec 12, 2024
0.28.0 Nov 1, 2024
0.27.1 Oct 20, 2024
0.16.0 Jul 3, 2024

#819 in Command-line interface

Download history 260/week @ 2024-08-24 39/week @ 2024-08-31 501/week @ 2024-09-07 114/week @ 2024-09-14 45/week @ 2024-09-21 53/week @ 2024-09-28 166/week @ 2024-10-05 467/week @ 2024-10-12 205/week @ 2024-10-19 96/week @ 2024-10-26 85/week @ 2024-11-02 4/week @ 2024-11-09 9/week @ 2024-11-16 6/week @ 2024-11-23 272/week @ 2024-11-30 725/week @ 2024-12-07

1,013 downloads per month
Used in 3 crates (via rat-widget)

MIT/Apache

170KB
3.5K SLoC

crates.io Documentation License License

This crate is a part of rat-salsa.

For examples see rat-ftable GitHub.

Table widget for ratatui

Can 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 second trait TableDataIter that works better if you only have an Iterator over your data.

Caveat: 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 scrolling.
  • Pluggable selection with TableSelection
    • Allows row/column/cell selection.
    • Row/column/cell selection + Header/Footer selection each with its own style.
  • Key/mouse handling present.

Eventhandling is currently crossterm only.

Dependencies

~7–16MB
~212K SLoC