Releases: rappasoft/laravel-livewire-tables
v3.0.0-beta.4
What's Changed
- Fix Reorder For Bootstrap by @lrljoe in #1412
- Add Loading Placeholder by @lrljoe in #1403
- Docs livewire namespace fix by @amshehzad in #1420
- Adding CollapseAlways Option for Columns by @lrljoe in #1403
- Fix Localisation Bug by @lrljoe in #1424
Full Changelog: v3.0.0-beta.3...v3.0.0-beta.4
v3.0.0-beta.3
What's Changed
V3 - Fix Reorder For Bootstrap by @lrljoe in #1412
V3 - Reorder Col - respect setHideReorderColumnUnlessReorderingDisabled by @lrljoe in #1411
v3 - Fix unrequired update call by @lrljoe in #1407
With thanks to "Danie Ramdhani" for assistance in diagnosing
Full Changelog: v3.0.0-beta.2...v3.0.0-beta.3
v3.0.0-beta.2
Minor beta release with some bug fixes
Fixes
- Apply Reorder Sorting When Reordering (#1402 )
- Fix DateRangeFilter Blade - Superfluous endphp #1394
- Remove published/cdn third party options from DateRangeFilter #1394
Changes
- Migration of Custom Filter Label code into the filter-label blade
- Updated documentation for CustomFilterLabel to reflect the available properties
What's Changed
- v3-develop to v3-master by @lrljoe in #1399
- Tweaks by @rappasoft
Full Changelog: v3.0.0-beta.1...v3.0.0-beta.2
v3.0.0-beta.1
This is the initial beta, offering support for Livewire 3.
N.B - This is a preview/beta, and is not suitable for production use.
For more information on the beta please see the discussion here, or join us on Discord
Potential breaking changes
- Introduction of multiple relations to a single table
- SetSearchLazy removed
Key Notes
- The package uses an injection approach to inject required JS and CSS, in the same method as Livewire itself. The behaviour is customisable.
Non-Breaking Changes
General
- Added support for multiple relations on a single table (e.g. user has a "mother user" and a "father user")
- Bootstrap striping is now working as standard
- Uses HeroIcons instead of hard-coded SVGs for icons
- Optimisation of Blade/View Components
Columns
- Label Columns (without a field) are sortable using a callback
- Preview Livewire Component Column - Caution - potential high memory/CPU usage
Filters
- Added Numeric Range filter
- Added Date Range filter
- DateFilter & DateTimeFilter have customisable Pills Date Format
- DateFilter & DateTimeFilter support setFilterDefaultValue to set a Default Value
- MultiSelectFilter & MultiSelectDropdownFilter both support setFirstOption() to set a value for "All"
Pagination
- Added support for cursor pagination ($this->setPaginationMethod('cursor'))
- Cursor & Simple pagination both include a "Total Item Count" stored in $paginationTotalItemCount, which is displayed in the table foot
Search
- Search Placeholder is customisable ($this->setSearchPlaceholder('Finder'))
- Added setSearchBlur()
- Added setSearchThrottle(int $milliseconds)
Other
- Optimisation of codebase overall
- Introduction of typehinting for parameters and return values across majority of codebase
- Increased test coverage
v2.15.0
v2.14.0
Changed
-
Fixes
- Bulk Actions (AlpineJS)
- Moving Table Head Checkbox to AlpineJS
- Using AlpineJS for calculating if all items have been selected
- Correcting missing x-cloak
- Added indeterminateCheckbox for TH for bulk actions
- Cleaned up ALpineJS functionality for Bulk Actions
- Repair of tests that were looking for wire:model that no longer existed
-
Enhancements
- Several new public variables for accessing pagination data cleanly, to avoid calling functions repeatedly across various blades.
- paginationTotalItemCount (Total number of items in the results across all page)
- paginationCurrentItems (Primary keys of items in the current page)
- paginationCurrentCount (Number of results on the current page)
- Several new public variables for accessing pagination data cleanly, to avoid calling functions repeatedly across various blades.
-
Blades
- Several blades have had the classic Tables approach ($theme == 'tailwind', $theme == 'bootstrap) replaced with conditional classes using the @Class([]) approach. This is to reduce the complexity of the blade files.
v2.13.1
v2.13.0
Changed
-
General
- Migrate to AlpineJS for Bulk Actions - #1196
- Add capability for passing a custom model path to the MakeCommand - #1168
- Add setFilterDefaultValue() on a per-component basis - #1191
- Add getFilterDefaultValue() to each Filter Component (to maintain support for PHP7.4 - variable return types) - #1191
- Moved Setting of Filter Defaults to Traits/Helpers/FilterHelpers - mountFilterHelpers - #1191
- Moved Setting of Theme to Traits/ComponentUtilities - mountComponentUtilities for efficiency - #1191
-
Filters
-
Documentation
-
Tests
- Restore PHP 7.4 tests for L8 only (includes minor tweaks)
- Remove duplicate tests in ComponentHelpersTest
- Tweak to ReorderingVisualsTest
- Add TextFilter as a test in FilterHelpersTest
-
Localization
- Added Danish Localization - #1206
v2.12.0
Added
-
AlpineJS Variable for Toolbar Dropdowns to force the dropdown to remain open - childElementOpen - #1076
-
Added Custom Column Slug method setCustomSlug('') allowing Columns to use non-roman characters in the Column Title - #1088
-
Eager loading so anyone can load any type of relationship - #943
-
Improved visibility of active page in pagination - #1096
-
Pagination methods
- Retrieve currently displayed IDs - getPerPageDisplayedItemIds()
- Retrieve number of records currently displayed - getPerPageDisplayedItemCount()
- Public variables for the above #1136
-
Filter Changes - #1129
- Custom Filter Pill Blades per Filter component (setFilterPillBlade()) - #1107
- Custom Filter Label Blades per Filter component (setCustomFilterLabel()) - #1110
- Filter positioning options when using slide-down - #1108
- Set the row per Filter component (setFilterSlidedownRow())
- Set the colspan per Filter component (setFilterSlidedownColspan())
Changed
-
Filters
- Fix - enabled re-use of Filters in Secondary Header/Footer, fixing issue where the filter remains visible after deselecting the Column- #1108
- Fix - restrict AppliedFilters to only return non-empty - preventing default values from setting the filter #1080
- Minor - added ID to Filter Wrapper allowing for easier targeting in blades/AlpineJS - #1087
-
Workflow Changes
-
Testing