Releases: Synphonyte/leptos-struct-table
Releases · Synphonyte/leptos-struct-table
Version 0.10.2
Version 0.10.1
Changes in this version:
[0.10.1] - 2024-06-05
Change 🔥
CellValue
is now implemented forleptos::View
. This makesFieldGetter<View
possible out of the box.
Fix 🐛
- Fixed mutating the sorting signal programmatically didn't trigger loading or rerendering (thanks @dakaizou).
Version 0.10.0
Changes in this version:
[0.10.0] - 2024-05-26
Breaking Changes 🛠️
- 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).
Features 🚀
- 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.
Examples 🧪
- The
serverfn_sqlx
example now shows how to implement sorting with sqlx (thanks to @lukashermansson).
Fixes 🐛
- 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).
Version 0.9.1
Changes in this version:
[0.9.1] - 2024-02-28
Fixes 🐛
- Fixed row height detection for virtualization
- Row count now reloads when the data source triggers changes
Version 0.9.0
Changes in this version:
[0.9.0] - 2024-02-22
Breaking 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.
Fix 🐛
- The default placeholder renderer now uses
<tr>...</tr>
to produce valid HTML. This fixes SSR rendering issues.
Other Changes
- Added an example for how to use server functions and sqlx together with this crate.
Version 0.8.2
Changes in this version:
[0.8.2] - 2024-02-18
Feature 🚀
- Added method
TableDataProvider::track
to easily specify reactive dependencies of data loading
Version 0.8.1
Changes in this version:
[0.8.1] - 2024-02-17
Fix 🐛
- Removed debug log
Version 0.8.0
Changes in this version:
[0.8.0] - 2024-02-17
Feature 🚀
- Added
loading_row_display_limit
prop toTableContent
to make it possible to load smaller row counts nicely
Breaking Changes 🛠️
- 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
Fix 🐛
- Data loading for small data sets
Version 0.7.1
[0.7.1] - 2024-02-14
Changes
- Added generic error type to
TableDataProvider
- Fixed sorting for tables with skipped fields
Full Changelog: v0.7.0...v0.7.1
v0.7.0
Changes in this version:
[0.7.0] - 2024-02-08
Features 🚀
- 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
.
Breaking Changes 🛠️
Everything? - sorry. This release is like half a rewrite with much less macro magic.
Please check the docs and examples.