- Custom types for collections which support extensions for filtering with ranges and arrays.
Note that if you have custom types defined for use in your collections, this could be a breaking
change. We recommend you change your types to inherit from Katalyst::Tables::Collections::Type::Value
and register them with Katalyst::Tables::Collections::Type
.
Query
and Filtering
are still optional extensions. We recommend that you add them to a
based collection class in your application, e.g. Admin::Collection
.
- Enum columns
- Filter component (still in development, optional extension)
Note: this release adds a dedicated registry for collection filtering types instead of using the default provided by ActiveModel.
If you have custom types that you use with tables collections, you will need to register them with Katalyst::Tables::Collection::Type in an initializer or similar.
- Introduce summary tables
- Update ruby requirement >= 3.3
- Breaking change: remove Turbo Streams from table and pagination components, focus preservation is handled via Turbo Morph
- Improve spec coverage
- Re-write internals to make it easier to extend and customize
- Update examples in README and docs to reflect changes
If you're upgrading from 2.x, you'll need to change your controllers to use the recommendations from the README. The changes should be straightforward, but you will need to enable morphing to allow focus preservation.
In general, we don't recommend using row partials anymore, as it's easier to read the code when the row is defined in the index view.
- Added table row selection
- See [[docs/selectable.md]] for examples
- Breaking change: use Rails' object lookup path to find row partials Previously: Nested::ResourceController would have looked for Nested::Model in the controller directory: app/views/nested/resources/_nested_model.html+row.erb After this change, uses Rails' polymorphic partials logic and looks in the model views directory: app/views/nested/models/_model.html+row.erb
- Internal refactor of filters to make it easier to add custom extensions and define nested attributes.
- Remove support for Ruby < 3.0 (no longer used at Katalyst)
- Add support for ordinal columns with batch updating
- See [[docs/ordinal.md]] for examples
- Add Collection model for building collections in a controller from params.
- See [[README.md]] for examples
- Add turbo entry points for table and pagy_nav
- See [[README.md]] for examples
- Add support for row partials when content is not provided
- See [[README.md]] for examples
- Add messages when table is empty, off by default (caption: true)
- Add PagyNavComponent for rendering
pagy_nav
from a collection. - Replaces internal references to SortForm to use
sorting
instead- No changes required to existing code unless you were using the internal classes directly
- Change allows sort param and sorting model to co-exist
- Replaces builders with view_components We want view components to be the way to build custom tables, and add more complete features to the gem. This will be a breaking change, but we have tried hard to retain compatibility with existing code. Unless you are using a custom builder then it's unlikely that you will see any changes.
- If you are using custom builders, then you will need to update them to use view components. See [[README.md]] for examples.
- Replaces
param_key
withi18n_key
for attribute lookup in locale file - Remove controller and url helpers from backend
- No changes required to existing code unless you were using the internal classes directly
- Initial release