- Fixed edge case loading data ranges that are smaller than the chunk size (thanks to @mcbernie).
- Updated dependency leptos-use to version 0.13 which fixes some unsatisfied trait bounds.
- Added support for generics in struct field types (thanks to @frnsys)
- Added macro options for much more flexibility with leptos-i18n (thanks to @Baptistemontan)
- Added hint to readmes of examples how to run them (thanks to @luckynumberke7in)
- Updated dependency leptos-use to version 0.12 which supports web-sys 0.3.70 which introduced breaking changes. (thanks to @frnsys)
- Changed leptos-use to version 0.11
- Added i18n support via the
"i18n"
feature which usesleptos-i18n
. See thei18n
example for usage. - Added row reader to
TableComponent
- Added
default_th_sorting_style
to make it easier to write a custom thead cell render component.
- Fixed race condition with loading row count and sorting update.
- Fixed console errors/warnings for signals accessed in async blocks after component was disposed of.
CellValue
is now implemented forleptos::View
. This makesFieldGetter<View
possible out of the box.
- Fixed mutating the sorting signal programmatically didn't trigger loading or rerendering (thanks @dakaizou).
- There is no longer a new-typed
Uuid
. You can now use theUuid
type from the crateuuid
directly (thanks to @lukashermansson). - The
DefaultCellRenderer
no longer requires values that implement Leptos'IntoView
but our own traitCellValue
which is basically the same but gives us much more flexibility (thanks to @lukashermansson). - There are no more chrono default cell renderers or
DefaultNumberTableCellRenderer
anymore. This can now all be handled by theDefaultCellRenderer
thanks to the newCellValue
trait (thanks to @lukashermansson).
- The new
CellValue
trait allows us to have less macro magic and allow you to specify your own format arguments that can be used in the macro attribute#[table(format(...))]
(thanks to @lukashermansson). - There is now the new feature
time
to add support for the equally named crate as cell values (thanks to @lukashermansson). - This crate is now ready to be used with stable Rust (thanks to @tyoeer).
- You can now specify the prop
sorting_mode
on the componentTableContent
to specify multi-column (the default) or single-column sorting.
- The
serverfn_sqlx
example now shows how to implement sorting with sqlx (thanks to @lukashermansson).
- Fixed pagination with data that is too short to fill the first page (thanks to @TimTom2016).
- Removed serde dependency from feature flag
chrono
(thanks to @lukashermansson).
- Fixed row height detection for virtualization
- Row count now reloads when the data source triggers changes
- Added methods
TableRow::col_name
,ColumnSort::as_sql
andTableRow::sorting_to_sql
to make it easy to implement db sorting - Removed dependency
async-trait
. The traitsTableDataProvider
andPaginatedTableDataProvider
now use the native async method support.
- The default placeholder renderer now uses
<tr>...</tr>
to produce valid HTML. This fixes SSR rendering issues.
- Added an example for how to use server functions and sqlx together with this crate.
- When not limiting a scroll container this could lead to a runaway row loading. This is now limited to max 500 rows.
- Added method
TableDataProvider::track
to easily specify reactive dependencies of data loading
- Removed debug log
- Added
loading_row_display_limit
prop toTableContent
to make it possible to load smaller row counts nicely
- Added
row_index
andcol_index
toTableClassesProvider::loading_cell
- Added
col_index
toTableClassesProvider::loading_cell_inner
- Changed the type of prop
loading_row_renderer
of the componentTableContent
- Data loading for small data sets
- Added generic error type to
TableDataProvider
- Fixed sorting for tables with skipped fields
- Virtualization — Only elements that are visible are rendered (with some extra for smooth scrolling).
- Other display acceleration strategies like infinite scroll and pagination are implemented as well.
- Caching — Only rows that are visible are requested from the data source and then cached.
- Error handling — If an error occurs while loading data, it is displayed in a table row instead of the failed data.
- Easy reloading — The data can be reloaded through the
ReloadController
.
Everything? - sorry. This release is like half a rewrite with much less macro magic. Please check the docs and examples.
- Support for generic structs
- Fixed
#[table(skip_sort)]
on fields
- Added
on_change
events to support editable data (see new editable example)
- Fixed selection with
key
s that are notCopy
- Modified REST example to include sorting
- Updated to leptos 0.5
- Updated to leptos 0.4
- Updated to leptos 0.3
- Deactivated
default-features
of leptos - New class provider
BootstrapClassesPreset
- New example
bootstrap
- Added
thead
andtbody
with customizable renderers - Added
getter
andFieldGetter<T>
with new example