All notable changes to laravel-livewire-tables
will be documented in this file
- Migrate additional Styling into separate traits by @lrljoe in #2127
- Optimize Imports by @edwinvdpol in #2124
- Set bulk action row button attributes by @lrljoe in #2117
- Add setFilterSlidedownWrapperAttributes and setFilterSlidedownRowAttributes by @lrljoe in #2120
- Respect setDisplayPaginationDetailsDisabled for unpaginated tables by @lrljoe in #2119
- Added neccessary files for Farsi translation by @AmirMehrabi in #2100
- Workflow Adjustments by @lrljoe in #2108
- Add extra Search Lazy Tests by @lrljoe in #2107
- Restore Missing Lazy Search Tests by @lrljoe in #2106
- Ignore WithEvents Coverage by @lrljoe in #2105
- Add missing tests for WithCustomisations by @lrljoe in #2104
- Add missing LivewireComponentFilterTest and BooleanFilterTest by @lrljoe in #2121
- Remove View TypeHinting in blades due to reported errors by @lrljoe in #2097
- Remove $component from blades to improve performance by @lrljoe in #2098
- Exclude config/database from sources by @lrljoe in #2102
- Add missing tests for WithCustomisations by @lrljoe in #2104
- Ignore WithEvents Coverage by @lrljoe in #2105
- Add Search Lazy Tests by @lrljoe in #2106
- Add extra Search Lazy Tests by @lrljoe in #2107
- Add Icon to Search Input by @lrljoe in #2092
- Search - Rationalisation of blades into files by @lrljoe in #2094
- Columns() Setup Improvements by @lrljoe in #2089
- Typehinting in blade components by @edwinvdpol in #2081
- Tweak Workflows to use an env key by @lrljoe in #2090
- Fix date range filter default value by @edwinvdpol in #2082
- Allow JSON and PHP type localisations by @lrljoe in #2071
- Allow lazy loading of tables by @lrljoe in #2072
- RemoveConfigFileFromCoverage by @lrljoe in #2080
- Test for ViewComponentColumn - Cannot return non-array attributes by @lrljoe in #2078
- BooleanFilter - Add Tests for Null in IsEmpty and Validate by @lrljoe in #2077
- Add Attributes Check For ViewComponentColumn by @lrljoe in #2076
- Add ViewComponentColumn label test by @lrljoe in #2075
- Add ColorColumnTests by @lrljoe in #2074
- FixSetDefaultPerPage by @lrljoe in #2067
- Fix BooleanColumn unexpected truthy behaviour by @lrljoe in #2066
- Adjustment for DateRangeFilter by @lrljoe in #2064
- Adjust SessionStorageHelpersTest by @lrljoe in #2065
- Add updatedSelectedColumns test for Event by @lrljoe in #2060
- Add test for FilterApplied Event being dispatched by @lrljoe in #2059
- Add Simple updatedSearch tests by @lrljoe in #2058
- Add test for No Columns defined - throws correct Exception by @lrljoe in #2057
- Migrate Localisation back to PHP Files from JSON by @lrljoe in #2038
- Fix NumberFilter bug for string values by @lrljoe in #2034
- Fixes for Filter Pills - Split blades, and ensure invalid filter alues are removed by @lrljoe in #2035
- Issue in multiple places where there is incorrect brackets in conjunction with coalescing operator (??) by @mrl22 in #2021
- Add Value to BooleanColumn custom view by @lrjoe in #2010
- Add config option to bypass setting User on Events. by @me-julian in #2006
- Livewire column doesn't have title() method by @ChrisThompsonTLDR in #2002
- Loading Placeholder Adjustments by @lrljoe in #1987
- Add Sort in QueryString by @lrjoe in #2018
- Add Search in QueryString by @lrljoe in #2017
- Add Filter in QueryString by @lrljoe in #2011
- BETA: Livewire Custom Filter (Array) by @lrljoe in #2025
- Adds Swedish translations by @Aiiion in #2027
- Fix missing i18n keys for FR, IT, EN, DE by @khwadj in #1993
- Add lang Norwegian and Albanian by @channor in #1988
- Fix Loading Placeholder Bug - Breaking Table by @lrljoe in #1969
- Add setPaginationWrapperAttributes by @lrljoe in #1978
- Add configurable areas - before-wrapper and after-wrapper by @lrljoe in #1977
- Add ToolsAttributes and ToolbarAttributes by @lrljoe in #1982
- Add getTitle reference for setTdAttributes/setTrAttributes by @lrljoe in #1976
- Add setToolsAttributes and setToolBarAttributes docs by @lrljoe in #1984
- Add docs for the ColumnSelect lifecycle hooks by @lrljoe in #1983
- Remove persist from getFilterGenericData by @lrljoe in #1966
- In LaravelLivewireTablesEvent, change the type to Illuminate\Contracts\Auth\Authenticatable by @khwadj in #1963
- Fix for Search Field Attribute Defaults by @lrljoe in #1962
- Fix Filter Pills Icon - Tailwind by @lrljoe in #1961
- Add filterComponents into queryString to ensure they're maintained by @lrljoe in #1957
- Reset Current Page on "Per Page" changing by @lrljoe in #1953
- Add setLabelAttributes method to Action, and update Docs for Filter by @lrljoe in #1952
- Migration to Core attribute management by @lrljoe in #1943
- Localisation - Avoid Conflicts With Other Packages by @lrljoe in #1955
- GitHub Workflow Tweak for Styling Fixes by @lrljoe in #1967
- GitHub Workflow Tweak for Discord - Updates by @lrljoe in #1968
- Fix syntax for DateColumn outputFormat in docs by @lrljoe in #1960
- Revert tableName to be public by @lrljoe in #1937
- Adjustment for Laravel 10 GH Workflows by @lrljoe in #1933
- Fixes for ButtonGroupColumn, ImageColumn, LinkColumn - to not default as label if has a "from" property. by @lrljoe in #1932
- Add button type to tailwind pagination blade template by @matzeschmitt in #1928
- Added translation to Polish by @meavric in #1925
- Added example for Vertical Scrolling table by @lrljoe in #1926
- Add hide table option by @lrljoe in #1914
- Add column select session methods by @lrljoe in #1913
- Save filter selection to session (BETA) by @lrljoe in #1910
- PHPStan - Config File Update and Baseline by @lrljoe in #1903
- BooleanColumn - Toggleable Callback by @lrljoe in #1892
- Doc Type Fixes by @lrljoe in #1891
- Set Action Position (Left/Center/Right) and Set Actions in Toolbar by @lrljoe in #1889
- Fix for Action Button with no icon by @lrljoe in #1887
- Add a Recommended Approach document by @lrljoe in #1886
- Reorder the "Getting Started" docs by @lrljoe in #1884
- Adjust Action Button Margins by @lrljoe in #1880
- Add setIconLeft/setIconRight for Actions by @lrljoe in #1877
- Default UseComputedProperties to True to default to new views by @lrljoe in #1873
- Allow Single Date DateRangeFilter by @lrljoe in #1872
- Allow clearing of DateRangeFilter by Text Box by @lrljoe in #1875
- Docs Update by @lrljoe in #1876
- Default UseComputedProperties to False to allow previously published views to work by default by @lrljoe in #1869
- Fix superfluous bulk actions tr > by @lrljoe in #1868
- Add an event dispatch for Filter Was Set when filterComponents is updated by @lrljoe in #1861
- Correct a locked property that is entangled in js, and add comments around some key properties to prevent reoccurrence by @lrljoe in #1859
- Column Features - deselectedIf/selectedIf by @lrljoe in #1846
- Add setTrimSearchStringEnabled/setTrimSearchStringDisabled by @lrljoe in #1843
- Restore the original JS methods for users with published views by @lrljoe in #1848
- Remove Component from Column, move getRows into ComputedProperty by @lrljoe in #1838
- Clean up filter generic data by @lrljoe in #1837
- Further work to clean up Blades, and use Computed Properties by @lrljoe in #1850
- Fix sort queryString bug by @lrljoe in #1835
- Boolean/Toggle Filter by @lrljoe in #1830
- Merge Column Attributes Back in if Sortable by @lrljoe in #1833
- Moving JS to Simplified Method in datatable by @lrljoe in #1832
- Boolean/Toggle Filter by @lrljoe in #1830
- View component column fixes by @lrljoe in #1825
- Update setDelaySelectAllEnabled Docs by @lrljoe in #1829
- ViewComponentColumn - New method docs by @lrljoe in #1828
- Additional Events & Customisable Behaviour by @lrljoe in #1820
- Typehinting to allow events to be used to update Multi-Value Filters by @lrljoe in #1822
- Add missing ReturnTypes by @lrljoe in #1823
- Removing old $listeners approach, now using the Livewire v3 On attribute by @lrljoe in #1821
- Fix ViewComponentColumn issue with not accepting parameters cleanly by @lrljoe in #1818
- Add Helpers for TextFilters by @lrljoe in #1812
- Change method names for TextFilters handler by @lrljoe in #1814
- Capability to set Reorder Column TH Attributes by @lrljoe in #1811
- Bulk Actions - Customise Select All Behaviours by @lrljoe in #1810
- Fix loading spinner for dark tailwind theme by @lrljoe in #1809
- Blade Minimisation & ColumnSelect Cleanup by @lrljoe in #1806
- Adjust DateColumn with Missing Tests and Coping with DateTime Casts by @lrljoe in #1813
- Add reference to Bulk Actions TH styling in main styling by @lrljoe in #1808
- Update docs for setPillsLocale by @lrljoe in #1800
- Add note on label method for setAdditionalSelects by @lrljoe in #1816
- Added capability to setFilterDefaultValue for a DateRangeFilter by @lrljoe in #1796
- Add localised pill values for DateFilter, DateTimeFilter, DateRangeFilter by @lrljoe in #1797
- Migrating Carbon usage into Trait, Adding Filter/Search Lifecycle Hooks by @lrljoe in #1798
- Add additional DateRangeFilter options by @lrljoe in #1793
- Add a new ViewComponentColumn that runs the construction for a View Component by @lrljoe in #1786
- Set Custom Classes for Collapsing Column - Collapse/Expand buttons by @lrljoe in #1785
- Fix DateTimeFilter by @RenoLooijmans in #1784
- Fix AggregateColumn SnakeCase issue by @lrljoe in #1777
- Fix NumberRangeFilter initial state when loaded by querystring by @lrljoe in #1774
- Fix SnakeCase issue with snake-cased relations for AggregateColumn types (AvgColumn, CountColumn, SumColumn) by @lrljoe in #1777
- Set a Prefix for NumberRangeFilter by @RenoLooijmans in #1773
- Add Separator customisation for Array Filters for FilterPills by @lrljoe in #1772
- Add bulk actions button/dropdown customisations by @lrljoe in #1771
- Add new columns (ArrayColumn, AvgColumn, CountColumn, SumColumn) by @lrljoe in #1761
- Add new column WireLinkColumn by @lrljoe in #1763
- Add Option to Retain Selected when Searching/Filtering by @lrljoe in #1762
- Add Option to set locale and default date to DateRangeFilter by @lrljoe in #1766
- Fix hide bulk actions when empty not reflecting in frontend by @lrljoe in #1747
- Apply cursor pointer only on clickable columns when using Bootstrap by @MP70 in #1742
- Always hide bulk actions option by @lrljoe in #1752
- Add ArrayColumn (BETA) by @lrljoe in #1751
- Optionally disable total item count for simple pagination by @lrljoe in #1755
- TypeHint fixes by @lrljoe in #1750
- Change Return Type for attributes() to static by @lrljoe in #1749
- Switch to using Composer\InstalledVersions for AboutCommand by @lrljoe in #1748
- Ensure HTML Columns return HTML correctly by @lrljoe in #1737
- Add configurable wire:model for filters by @lrljoe in #1699
- Customisable Model paths for Make command by @marvoh in #1714
- Add HTML Support for LinkColumn by @codecreeper in #1728
- Fix error with DateColumn when empty by @lrljoe in #1726
- Migrate to PHPUnit Attributes rather than Doc Comments by @lrljoe in #1727
- Remove broken test by @lrljoe in #1719
- Add setConfigurableArea by @lrljoe in #1706
- Add User prompt for missing inputs by @achyutkneupane in #1681
- UI patch: toolbar fix for reordering by @itsLeonB in #1690
- Adjust Workflow behaviour for PCOV by @lrljoe in #1706
- Updated nl language by @Jerimu in #1695
- Updated nl language by @Jerimu in #1694
- Collapsing Columns fix when multiple tables are displayed on a page by @lrljoe
- Add capability to customise colors/styling on the Pagination Per-Page Dropdown by @lrljoe in #1677
- Amend Lifecycle Hooks document to use "public" rather than "protected" methods
- Add setDefaultPerPage by @lrljoe in #1671
- Fix collapsing columns not respecting view point collapse points by @lrljoe in #1665
- Migrate "updated" Search and FilterComponents calls to WithSearch and WithFilters by @lrljoe in #1666
- Allow nullable search/filter values by @lrljoe in #1666
- Migration to new Core Traits, and de-duplication of code by @lrljoe in #1623
- Fix CHANGELOG.md missing release
- Add capability to show/hide Pagination Details (Rows x of y) by @lrljoe in #1618
- Add perPage to queryString by @lrljoe in #1618
- Fix published view path by @lrljoe in #1615
- Add capability to call a new "addAdditionalSelects()" to append select table fields (without impacting setAdditionalSelect) by @lrljoe in #1609
- Ensure mount() is called prior to bundler() executing by @lrljoe in #1603
- Add capability to use as a Full Page Component by @amshehzad and @lrljoe in #1580
- Add DateColumn by @lrljoe in #1589
- Add ColorColumn by @lrljoe in #1590
- Internal - modify GitHub workflows to improve caching, but use unique caches per workflow matrix
- Internal - remove superfluous PHPStan ignoreErrors
- Internal - update Test Suite to also test at PHP 8.3
- Internal - tidying Classes & Traits by @lrljoe
- Docs - Update Anonymous Column documents to reference ability to use strings as well as views
- Add capability to hide Column Label by @lrljoe in #1512
- Add capability to set a custom script path for the scripts/styles by @lrljoe in #1557
- Added rowsRetrieved Lifecycle Hook, expanded documentation for Lifecycle Hooks
- Added missing tailwind background colour class for when hovering over the clear button in dark mode by @slakbal in #1553
- Fixed extraneous space in config.php by @viliusvsx in in #1577
- Changed table default vertical overflow to auto by @dmyers in #1573
- Fix footer rendering issue with extra td displayed depending on bulk action statuses
- Create new WithCustomisations Trait
- Move render data provision into Traits -> WithColumns, WithCustomisations, WithData
- Add default pint.json with ignore for WithAllTraits
- Updated tests & test cases to cater for No Primary Key more efficiently
- Create additional Exception Classes (NoColumnsException, NoSearchableColumnsException, NoSortableColumnsException)
- Revert previous splitting of JS Files
- Add capability to customise Bulk Actions Styling with tests by @lrljoe in #1564
- TH Classes
- TH Checkbox Classes
- TD Classes
- TD Checkbox Classes
- Add additional Lifecycle Hook by @lrljoe in #1534
- SettingColumns/ColumnsSet
- Migrate methods for pre-render out of render by @lrljoe in #1534
- Update tests to reflect hooks by @lrljoe in #1534
- Update tests to add invalid string tests for dates by @lrljoe in #1534
- Remove maps and minimise functions from FrontendAssets by @lrljoe in #1534
- Add Initial Lifecycle Hooks - Configuring/Configured by @lrljoe in #1520
- Configuring/Configured
- Add missing tests for DateFilter and DateTimeFilter by @lrljoe in #1527
- Add setCustomView for Filters
- Default Search to "Live" rather than "Defer" to match v2
- Modify Filters to use DTO for Generic Property List by @lrljoe in #1503
- Split ConfigurableAreas, CollapsingColumns and TableAttributes into own Traits/Config/Helper Files for Maintainability by @lrljoe in #1514
- Add "HasAllTraits" for Maintainability by @lrljoe in #1514
- Rename row-contents to collapsed-columns
- Add IsFilter and IsColumn Traits for Filter/Column Classes
- Restore wire:confirm for Bulk Actions
- Stable Release of 3.1.0 Stable for Livewire v3 Support
- Update Date Range Icon Styling
- Migrate PHP from date-range blade into new DateRangeFilter method
- Add FilterHelper method for generating filter wire:keys
- Add Filter CustomPosition tests
- Add Placeholder config option for DateRangeFilter
- Add Placeholder config option for DateFilter, DateTimeFilter, NumberFilter
- Clean up classes on filters
- Minor tweaks to toolbar/column select styling
- Fix wire:confirm for BulkActions (removed in merge error)
- Changes to toolbar blade structure by @lrljoe in #1454
- Fix queryStringEnabled by @lrljoe in #1465
- Add missing x-cloak by @lrljoe in #1463
- Fixes for missing default behaviour by @lrljoe in #1455
- Fix for setFilter - allows setting values at mount/boot (#1451) by @lrljoe in #1452
- Add wire:navigate option for clickable rows
- Fix for collapsing column header shift
- Fix Return Type hinting for Column Rendering to allow Enum columns
- Add Bulk Action Confirmations, using wire:confirm
- setBulkActionConfirms
- setBulkActionConfirmMessage
- setBulkActionConfirmMessages
- setBulkActionDefaultConfirmationMessage
- Localisation for confirmation message
- Introduction of Loading Placeholder
- Docs livewire namespace fix Here
- Add CollapseAlways capability for Columns
- Fix localisation bug
- Fix for Livewire ^3.0.6 where the table loading causes an additional lifecycle
- Add unminified files to .gitattributes export-ignore
- Increase cached time to 1 day from 1 hour if cache is enabled
- Removes superfluous @endphp from the DateRangeFilter blade
- Removes reference to remote/published 3rd party assets
- Add setFilterLabelAttributes Capability Per-Filter
- Fix for reorder sort not applying automatically
-
Amending Documentation for Reordering
-
Adding capabilities & tests for setTrAttributes
-
Force calculation of even/odd only once in reorder mode
-
Call internal method for reordering, and pass to configured method to process
-
Amend AutoInjection/FrontendAsset to ensure it returns the original content correctly
-
Remove errant disabling of Blade Directives when disabling auto-injection
-
Amended in-line config documentation
-
Add setSearchFieldAttributes() and getSearchFieldAttributes()
-
Add missing pagination tests
-
Removal of setSearchLazy
-
Fix for setSearchDebounce
-
Fix publishing of views
-
Fix for Bulk Actions dropdown not working in Bootstrap
-
Fix for Column Select "Select All" not consistently updating
-
Fix for lazy loading of table
-
Fix for ColumnSelect falling out of sync, displaying unselectable colums, or persisting cols in query that are not selected
-
Add setSearchBlur()
-
Add setSearchThrottle()
-
Add publish translations
-
Add prependColumns() and appendColumns() functions
-
Add documentation for setSearchPlaceholder()
-
Add setExcludeDeselectedColumnsFromQueryEnabled and setExcludeDeselectedColumnsFromQueryDisabled methods to configure()
-
Requirements Change
- Requires LiveWire 3.x
- Requires PHP 8.1+
- Requires Laravel 10+
-
Core Changes
-
Move sorts, search, selectedColumns out of the traditional $this->{$this->getTableName()}['sorts'] and instead place it directly within the component. This:
- Improves the query string behaviour
- Reduces the need to repeatedly set up that main array Commit 1 Here Commit 2 Here
-
Tidying
- Removed Spatie Package Tools and replaced with a generic service provider
- Significant reduction in blade/view sizes, and repetition of code across Tailwind/Bootstrap 4/Bootstrap 5 themes
- Uses HeroIcons instead of hard-coded SVGs for icons
- Several variables are now inherited instead of being passed (e.g. Table Name)
- Change to how Filters are rendered (no longer receives $component)
- Wire keys and IDs now all conform to a format
-
Features
-
General
- Added support for cursor pagination
- Cursor & Simple pagination both include a "Total Item Count" stored in $paginationTotalItemCount
- Added support for multiple relations on a single table (e.g. user has a "mother user" and a "father user")
- Replaced dependency on unsupported Sortable JS libraries.
- Option for a Search Placeholder to be set
- Bootstrap striping is now fully working
-
Filters
- Filter Construct calls config([]) by default to set configuration defaults, to avoid errors
- Added Numeric Range filter
- Added Date Range filter
- DateFilter & DateTimeFilter have customisable Pills Date Format
- DateFilter & DateTimeFilter fully support setFilterDefaultValue
- MultiSelectFilter & MultiSelectDropdownFilter both support setFirstOption()
- There are now two arrays relating to Filters:
- A wireable one ($filterComponents)
- An unwired one - only keeps track of those filters that have a value ($appliedFilters). This is what is bound to the query string, and populates the filters on mount if they are present in the query string.
-
Livewire 3 Specific
- Migrated any $component->id reference to $component->getId()
- Added SetSearchLive to allow for the search to be "live", with tests
- Added capability for external CSS file
- Custom CSS/JS and Alpine components are now stored in an external file, which has configurable injection options
- Added setSearchLive(), setSearchThrottle(int $milliseconds) and setSearchBlur() options for Search behaviour
-
-
-
Test Changes
-
Temporarily removed the sort_events_apply_correctly and filter_events_apply_correctly due to LW3 not using Emit anymore.
-
Added extra column to the PetsTable -> last_visit and associated test changes to make the counts work. This column is deselected() by default to allow for testing on those methods.
-
-
Doc Changes
- Slowly begun updating the docs with the relevant new features, dependencies etc.
2.15.0 - 2023-07-15
-
Fixes
- Re-enable capability for configuring whether to Hide/Show Bulk Actions when empty - #1240
-
Enhancements
2.14.0 - 2023-05-18
-
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.
2.13.1 - 2023-05-18
- Fixes for AlpineJS
2.13.0 - 2023-05-17
-
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
2.12.0 - 2023-04-08
-
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())
-
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
2.11.0 - 2023-02-16
- Support for Laravel 10 - #1049
- Trigger events when changing selected columns - #1046
- Added before-tools configurable area - #1037
- Added support to hide column select on tablet or mobile - #1031
2.10.0 - 2023-01-16
- Added support for MorphOne relationships - #844
- Added MultiSelectDropdownFilter - #1011
- FilterSlideDown - Ability to set Default to Open or Closed - #1017
- Updated EN translations - #999
- Updated ES translations - #1000
- Bulk Actions Simple Pagination fix & typo in toolbar.blade.php - #1015
2.9.0 - 2022-12-21
- Added support for optgroups in SelectFilter - #962
- Added information about applying filters on boot - #949
- Added ComponentColumn - #827
- Added ability to set the pagination mode of
standard
orsimple
- Fixed formatting for relational column - #757
- Fixed errors when filter does not exist - #979
- Update basic example to represent V2 requirements - #944
- Fixed responsive on bootstrap 4 & 5 - #903
- Fix for select and checkbox inputs styling with Bootstrap 5 theme - #864
2.8.0 - 2022-07-24
- Added functionality to bookmark or deep link column selection
- Added functionality to identify different datatable components as unique in column selection
- Added functionality to configure query string alias
- Added functionality to configure session key for column selection (dataTableFingerprint)
- Added functionality to select/deselect all columns in column selection dropdown
- Added French translation - #816
- Added Malay translation - #821
- Added Dutch translation - #834
- Added Ukranian translation - #840
- Fixed bug with sort callback on newer versions of Livewire - #805
- Fixed: Removed :mixed return type hint as it requires PHP8.0 - #822
2.7.0 - 2022-05-07
- Added functionality to hide individual filters from popover and slide down views
- Added functionality to hide individual filters from filter pills
- Added functionality to hide individual filters from the active filter count
- Added functionality to say which filters get reset by the clear button
- Added functionality to set filters as secondaryHeader or footer of columns
- Added Brazilian Portuguese translation - #797
2.6.0 - 2022-05-05
- Added functionality to display BooleanColumn as Yes/No instead of icons.
- Added ButtonGroupColumn for multiple LinkColumns in one group. Pretty much built in action buttons support.
- Added bulk action export example to docs.
2.5.0 - 2022-05-03
- Ability to pass mount parameters to configurable areas
- Move configure call to boot instead of booteed.
- Mount methods now available in
configure()
method. - Non-field columns with a searchable callback are now included in the search query.
- Fixed debug query output duplicating select statements.
- Fixed header issue on column hide - #754
- Calls to set builder and columns in render as it doesn't seem to make a difference since it's also called in booted.
2.4.0 - 2022-04-30
- Added table event listeners to sort/filter/clear from other components.
- Added text filter.
- Added $row as second parameter to BooleanColumn
setCallback()
. - Added
setThSortButtonAttributes()
to set attributes for th sort button. - Added
setHideConfigurableAreasWhenReorderingStatus()
to hide configurable areas when reordering status which now defaults to true.
- Rework builder to fix passed parameters in
builder()
andcolumns()
methods. - Fixed possible bug with bulk actions dropdown on Tailwind when bulk actions are hidden until a selection is made.
2.3.0 - 2022-04-28
- Added ability to define additional select statements outside the scope of a column using the
setAdditionalSelects(array $selects)
configuration method. - Added 8 configurable areas, see
Configurable Areas
of theDatatable
section of the documentation.
2.2.1 - 2022-04-27
- Fixed filter dropdown opening on sort - #740
2.2.0 - 2022-04-25
- Added space to include custom markup at the end of the component.
- Added events documentation
- Added ability to set columns as deselected by default - #731
- Added NumberFilter - #729
- Fixed issue with Postgres and quotes - #734
2.1.0 - 2022-04-12
- Turkish Translation - #686
- Added missing table row click functionality
- Added ability to mark column as unclickable if you need a cell to have another clickable element with clickable rows turned on.
- Update filter docs - #691
- Update getTdAttributes to take 4th missing argument
- Add filters in the config section - #709
- Update some docs formatting
2.0.0 - 2022-03-30
Ground Up Rebuild
1.21.0 - 2021-11-20
- Added Chinese translation - #540
- Added 'select all' checkbox for multiselect filters - #551
- Added attributes to filters - #558
- Added 4th option for pills fallback value - #538
- Removed excess left padding on Bootstrap 5 form check on multiselect filters.
- Patch bulk actions random wire:key - #557
1.20.1 - 2021-11-01
- Fix bulk actions breaking change - #535
1.20.0 - 2021-10-25
- Singular row translation - #526
- Fixed bulk actions dropdown on Bootstrap - #519
- Fixed bulk row/select with pagination off - #510
- Conditionally show cursor-pointer class instead of inline style - #529
1.19.3 - 2021-10-25
- Fix bulk actions - #517
1.19.2 - 2021-10-15
- German translation - #502
- Extracts just the field name from primaryKey - #506
- Update BS4 pagination - #507
- Update minimum Livewire version to 2.6
1.19.1 - 2021-10-14
- Fixed table target default
1.19.0 - 2021-10-14
- Thai translation - #491
- Italian translation - #493
- Added getTableRowUrlTarget to set row click target based on the row
- Add custom class to table - #495
- Fix removing a multiselect filter - #494
1.18.0 - 2021-10-13
- Secondary header (see documentation section
Secondary Header Functionality
on how to implement column search)
- Add missing properties to reordering session
1.17.0 - 2021-10-12
- Multiselect filter - #469
- Fixed default version of livewire - #486
- Fix bulk select with search and add typed property to selected - #439
1.16.0 - 2021-09-26
- Ability to use the header as the footer
- Ability to define a custom footer cell per column
- Ability to set the footer row classes/id/attributes
- Ability to set the footer cell classes/id/attributes
- Added isHtml method on the column and replace use of property in views for internal use.
- Ability to define bulk actions with a method
- Allow to disable responsive status of the table
- Ability to link each cell
1.15.0 - 2021-09-19
- Dark styles for Tailwind
- Minimum Livewire version to 2.6.2 to avoid 2.6.1 bug.
- Remove our custom pagination as Livewire 2.6 supports multiple pagination per page now.
1.14.0 - 2021-08-31
- Added ID language file
- Added ability to preselect columns
- Added ability to turn off column session
- Support virtual columns
- Added ability to dump filters above table for debugging
1.13.0 - 2021-08-24
- Use package tool to register commands
- Fix callback so it doesn't care about parameter names
- Changed default empty text
1.12.0 - 2021-07-31
1.11.0 - 2021-07-10
- Increased minimum Livewire version
- Added default empty message to lang file.
- Fix people messing with sort direction from URL
- Check to make sure column exists before sorting
- Removed ability to alter per page dropdown select to bypass allowed values.
1.10.4 - 2021-06-23
- Added $hideBulkActionsOnEmpty to hide the bulk actions dropdown until something is selected.
1.10.3 - 2021-06-22
- When reordering, the last known state of the table is now saved in the session so when you're done reordering you are back where you left off and no filters/sorts/search is lost.
- Fixed query string getting wiped out on reload
1.10.2 - 2021-06-21
1.10.1 - 2021-06-20
- Fixed Tailwind column popup on reorder
1.10.0 - 2021-06-20
This release requires re-publishing of assets.
1.9.0 - 2021-06-15
This release requires re-publishing of assets.
- Replaced bootstrap dropdowns with Alpine on bootstrap themes which fixes them closing prematurely when selecting filters.
- Added wrapping divs around needed
if
statements. - Fixed Bootstrap pagination DOM-diffing issues.
1.8.0 - 2021-06-06
- Actual default sorting
- Added place to put modals in the scope of the component
- Added
setTableRowClass
,setTableRowId
,setTableRowAttributes
,setTableDataClass
,setTableDataId
,setTableDataAttributes
methods to modify cells and rows depending on data for non-custom rows.
1.7.1 - 2021-05-30
1.7.0 - 2021-05-18
- Fix ambiguous column id when using Relation instead of Builder
- Use column text for sorting and filter pills if no $filterNames or $sortNames exist
- Fix tailwind pagination view
1.6.1 - 2021-05-13
1.6.0 - 2021-05-04
- Added Unselect All button on bulk row when selecting page.
- Added disabled delay on select checkboxes.
- Added disabled on bulk row button clicks.
- Added missing showPagination conditional to views.
- Added getFilters and getFiltersWithoutSearch methods and refactor views.
- Added checkFilters method and refactor mountWithFilters
- Added hasIntegerKeys method
- When selecting a page, if there are the same selected as total rows, just show the amount of selected instead of showing "Selecting 1 row. Do you want to select all 1 rows.".
- Move bulk select row to its own partial for all templates.
- Moved updatedFilters from WithSearch to WithFilters
- Refactor hasFilter to support numeric keys
- Refactor getFilter to support numeric keys
- Refactor getFilterOptions to support numeric keys
- Removed updatingFilters from WithFilters
1.5.1 - 2021-05-02
- Added clear search method.
- Changed resetAll method to include search and page and moved to parent component.
- Refactored search method to use new resetSearch.
- Use custom per page on first load
1.5.0 - 2021-05-02
- Added hideIf for columns to hide a column with a conditional, works out of the box for cells not using rowView, if using rowView you must wrap the cells you want to hide in the same conditional. See documentation.
- Added selected row de-selector when not selecting full page or all.
1.4.0 - 2021-04-29
- Added option for single column sorting only.
- Ability to change empty message per table.
- Added en.json lang file.
- Ability to add 'All' option to per-page.
- Modified views to support localization better where necessary (republish views).
- Alphabetize en.json
- Fixed bulk actions using wrong key to select instead of $primaryKey
- Make bulk select checkbox use primary key
1.3.1 - 2021-04-26
- Use the filter option name instead of the value on the filter pills. (#238)
- Added row count when pagination is disabled. (#239**)
- Fixed whitespace-nowrap in tailwind cell. (#240)
- Removed old readme for the documentation link.
1.3.0 - 2021-04-25
- Added searchable() to columns (#233)
- Fixed offline indicators to display block.
- Tailwind cool-gray to just gray since it is included by default.
1.2.2 - 2021-04-23
- Removed hard coded bulk text of users and changed to rows
1.2.1 - 2021-04-22
- Remove padding from bootstrap container to keep it flush with sides like Tailwind
1.2.0 - 2021-04-22
- Ability to disable pagination (#222)
- Ability to define the sorting direction names for each column. i.e. A-Z, Z-A, Yes, No, Enabled, Disabled, etc.
- Added ability to define primary key of rows for bulk select
- Added selectedKeys property that returns an array of the ids of the selected rows
- Clarified where rowView looks in read me
- Null the search filter when it's empty
- Fill per page options from $perPageAccepted in views
- Make $perPageAccepted public
- Removed
text-secondary
class from sorting title
1.1.0 - 2021-04-21
- Added callback to column's sortable() method to customize sorting functionality per column. (#216)
- Support for polling
keep-alive
andvisible
. - Start of a test suite (#218)
- Updated Tailwind search clear button (#217).
- Updated readme
1.0.4 - 2021-04-18
$searchFilterDebounce
,$searchFilterDefer
,$searchFilterLazy
, for defining the search input data binding property. #211- Remove ability to need to define filters if not defining defaults. #213
- Rearrange wire:keys
1.0.3 - 2021-04-18
- Added Bootstrap 5 theme
- Removed calls to custom primary color with indigo for tailwind
- Updated search and row click sections of read me to be more clear.
- Added resetPage to per page dropdown and filters.
1.0.2 - 2021-04-17
- Fixed checkbox click with row click combination following URL and not checking checkbox.
1.0.1 - 2021-04-17
- Fixed missing bootstrap components aliased to bs4.table.*
- Updated readme
- Added missing row click on bootstrap
1.0.0 - 2021-04-16
- Ground up rebuild, see documentation for usage.
0.4.0 - 2021-04-14
- Fixed polling issue
- Fixed MongoDB per page issue
- Fixed use of $clearSearchButtonClass variable
0.3.3 - 2020-12-13
- PHP8 Support
- Spanish translations
- German translations
- French translations
- Updated Arabic translations
0.3.2 - 2020-09-25
- Added thead class to option array
- Ability to export the list set to CSV/XLS/XLSX/PDF
- Ability to mark a visible column as not to be exported
- Ability to mark a column as export only, which hides it from UI
- Ability to format a single column differently for export as it is for its UI
- Added option to change the button class from the config
0.3.1 - 2020-09-18
- Fixed non-sortable column headers not getting classes applied.
- Updated documentation
- Ground up rebuild
- Config file to choose frontend framework - currently limited to bootstrap
- Render method to columns which returns whatever you put into it, you can return a view, html, an attribute, etc.
- Pulled in and modified the HTML component library from laravelcollective so you can return html components from the render method. i.e.: $this->image(...);
- Added new loading config on whether to keep displaying the current data while loading or collapse it
- Added ability to set frontend framework specific options via a property on a per component basis.
- Extracted the sorting icons out to their actual HTML, so you can use whatever you want, not limited to the 'i' tag.
- Checkbox functionality for now
- Component functionality pending debate
- All class and styling based properties. It's better to publish the views to change something.
0.2.1 - 2020-09-10
- Arabic translations
- Ability to add a link to make table rows clickable
- Added the ability to change the sort icons
- Ability to hide a column based on a condition or permanently
- Livewire to 2.x
- Removed 1 hard coded font awesome icon
- Publish tags to service provider
0.2.0 - 2020-08-10
- Add pagination reset for perPage updates
- Add second parameter to view method for the name of the model variable available in the view.
- Allow publishing of views
- Make docblocks work with psalm
- Added searching method either debounce or lazy
- Allow dot notation for customer attributes
- Added loading message to table body if $loadingIndicator is true
- Add clear button option to search box
- Updated Livewire to 1.3
- $disableSearchOnLoading default to false
- Trim the search term when processing
- Added language to publishable translation file
- Existing loading subview for tbody message
0.1.6 - 2020-06-15
- Add second parameter to view method for the name of the model variable available in the view.
0.1.5 - 2020-05-26
- Use constructor instead of mount so that the child classes have access to a mount method that they can accept parameters in.
0.1.4 - 2020-05-24
- Changed $models to $builder
- Changed callback parameters for sorting to $builder, $direction. (Removed sortField because we know what it is, until someone gives me an example of why it would be beneficial to keep it).
0.1.3 - 2020-05-12
- Ability to turn off per page option while keeping pagination on
- Fix the search feature if pagination is on, and you're not searching from the first page using Livewire's native resetPage() method.
0.1.2 - 2020-04-28
- Fixed pagination text when there are zero results
0.1.1 - 2020-04-04
- Name of table blade view to avoid issues with other like named packages
- Initial release