Releases: Synphonyte/leptos-struct-table
Releases · Synphonyte/leptos-struct-table
Version 0.10.2
Changes in this version:
[0.10.2] - 2024-06-07
Fixes 🐛
- 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.
Version 0.10.1
Changes in this version:
[0.10.1] - 2024-06-05
Change 🔥
CellValueis now implemented forleptos::View. This makesFieldGetter<Viewpossible 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 theUuidtype from the crateuuiddirectly (thanks to
@lukashermansson). - The
DefaultCellRendererno longer requires values that implement Leptos'IntoViewbut 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
DefaultNumberTableCellRendereranymore. This can now all be
handled by theDefaultCellRendererthanks to the newCellValuetrait (thanks to @lukashermansson).
Features 🚀
- The new
CellValuetrait 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
timeto 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_modeon the componentTableContentto specify multi-column (the default)
or single-column sorting.
Examples 🧪
- The
serverfn_sqlxexample 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_sqlandTableRow::sorting_to_sqlto make it easy to implement
db sorting - Removed dependency
async-trait. The traitsTableDataProviderandPaginatedTableDataProvidernow 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::trackto 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_limitprop toTableContentto make it possible to load smaller row counts nicely
Breaking Changes 🛠️
- Added
row_indexandcol_indextoTableClassesProvider::loading_cell - Added
col_indextoTableClassesProvider::loading_cell_inner - Changed the type of prop
loading_row_rendererof 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.