All notable changes to laravel-livewire-tables
will be documented in this file
- IncrementColumn by @lrljoe in rappasoft#2096
- Add setFilterPopoverAttributes by @lrljoe in rappasoft#2101
- Remove View TypeHinting in blades due to reported errors by @lrljoe in rappasoft#2097
- Remove $component from blades to improve performance by @lrljoe in rappasoft#2098
- Exclude config/database from sources by @lrljoe in rappasoft#2102
- Add missing tests for WithCustomisations by @lrljoe in rappasoft#2104
- Ignore WithEvents Coverage by @lrljoe in rappasoft#2105
- Add Search Lazy Tests by @lrljoe in rappasoft#2106
- Add extra Search Lazy Tests by @lrljoe in rappasoft#2107
- Add Icon to Search Input by @lrljoe in rappasoft#2092
- Search - Rationalisation of blades into files by @lrljoe in rappasoft#2094
- Columns() Setup Improvements by @lrljoe in rappasoft#2089
- Typehinting in blade components by @edwinvdpol in rappasoft#2081
- Tweak Workflows to use an env key by @lrljoe in rappasoft#2090
- Fix date range filter default value by @edwinvdpol in rappasoft#2082
- Allow JSON and PHP type localisations by @lrljoe in rappasoft#2071
- Allow lazy loading of tables by @lrljoe in rappasoft#2072
- RemoveConfigFileFromCoverage by @lrljoe in rappasoft#2080
- Test for ViewComponentColumn - Cannot return non-array attributes by @lrljoe in rappasoft#2078
- BooleanFilter - Add Tests for Null in IsEmpty and Validate by @lrljoe in rappasoft#2077
- Add Attributes Check For ViewComponentColumn by @lrljoe in rappasoft#2076
- Add ViewComponentColumn label test by @lrljoe in rappasoft#2075
- Add ColorColumnTests by @lrljoe in rappasoft#2074
- FixSetDefaultPerPage by @lrljoe in rappasoft#2067
- Fix BooleanColumn unexpected truthy behaviour by @lrljoe in rappasoft#2066
- Adjustment for DateRangeFilter by @lrljoe in rappasoft#2064
- Adjust SessionStorageHelpersTest by @lrljoe in rappasoft#2065
- Add updatedSelectedColumns test for Event by @lrljoe in rappasoft#2060
- Add test for FilterApplied Event being dispatched by @lrljoe in rappasoft#2059
- Add Simple updatedSearch tests by @lrljoe in rappasoft#2058
- Add test for No Columns defined - throws correct Exception by @lrljoe in rappasoft#2057
- Migrate Localisation back to PHP Files from JSON by @lrljoe in rappasoft#2038
- Fix NumberFilter bug for string values by @lrljoe in rappasoft#2034
- Fixes for Filter Pills - Split blades, and ensure invalid filter alues are removed by @lrljoe in rappasoft#2035
- Issue in multiple places where there is incorrect brackets in conjunction with coalescing operator (??) by @mrl22 in rappasoft#2021
- Add Value to BooleanColumn custom view by @lrjoe in rappasoft#2010
- Add config option to bypass setting User on Events. by @me-julian in rappasoft#2006
- Livewire column doesn't have title() method by @ChrisThompsonTLDR in rappasoft#2002
- Loading Placeholder Adjustments by @lrljoe in rappasoft#1987
- Add Sort in QueryString by @lrjoe in rappasoft#2018
- Add Search in QueryString by @lrljoe in rappasoft#2017
- Add Filter in QueryString by @lrljoe in rappasoft#2011
- BETA: Livewire Custom Filter (Array) by @lrljoe in rappasoft#2025
- Adds Swedish translations by @Aiiion in rappasoft#2027
- Fix missing i18n keys for FR, IT, EN, DE by @khwadj in rappasoft#1993
- Add lang Norwegian and Albanian by @channor in rappasoft#1988
- Fix Loading Placeholder Bug - Breaking Table by @lrljoe in rappasoft#1969
- Add setPaginationWrapperAttributes by @lrljoe in rappasoft#1978
- Add configurable areas - before-wrapper and after-wrapper by @lrljoe in rappasoft#1977
- Add ToolsAttributes and ToolbarAttributes by @lrljoe in rappasoft#1982
- Add getTitle reference for setTdAttributes/setTrAttributes by @lrljoe in rappasoft#1976
- Add setToolsAttributes and setToolBarAttributes docs by @lrljoe in rappasoft#1984
- Add docs for the ColumnSelect lifecycle hooks by @lrljoe in rappasoft#1983
- Remove persist from getFilterGenericData by @lrljoe in rappasoft#1966
- In LaravelLivewireTablesEvent, change the type to Illuminate\Contracts\Auth\Authenticatable by @khwadj in rappasoft#1963
- Fix for Search Field Attribute Defaults by @lrljoe in rappasoft#1962
- Fix Filter Pills Icon - Tailwind by @lrljoe in rappasoft#1961
- Add filterComponents into queryString to ensure they're maintained by @lrljoe in rappasoft#1957
- Reset Current Page on "Per Page" changing by @lrljoe in rappasoft#1953
- Add setLabelAttributes method to Action, and update Docs for Filter by @lrljoe in rappasoft#1952
- Migration to Core attribute management by @lrljoe in rappasoft#1943
- Localisation - Avoid Conflicts With Other Packages by @lrljoe in rappasoft#1955
- GitHub Workflow Tweak for Styling Fixes by @lrljoe in rappasoft#1967
- GitHub Workflow Tweak for Discord - Updates by @lrljoe in rappasoft#1968
- Fix syntax for DateColumn outputFormat in docs by @lrljoe in rappasoft#1960
- Revert tableName to be public by @lrljoe in rappasoft#1937
- Adjustment for Laravel 10 GH Workflows by @lrljoe in rappasoft#1933
- Fixes for ButtonGroupColumn, ImageColumn, LinkColumn - to not default as label if has a "from" property. by @lrljoe in rappasoft#1932
- Add button type to tailwind pagination blade template by @matzeschmitt in rappasoft#1928
- Added translation to Polish by @meavric in rappasoft#1925
- Added example for Vertical Scrolling table by @lrljoe in rappasoft#1926
- Add hide table option by @lrljoe in rappasoft#1914
- Add column select session methods by @lrljoe in rappasoft#1913
- Save filter selection to session (BETA) by @lrljoe in rappasoft#1910
- Use Core Attribute Bag by @lrljoe in rappasoft#1916
- Use Core HasTheme Methods by @lrljoe in rappasoft#1915
- Add icon column by @lrljoe in rappasoft#1902
- Enable/Disable Tools/Toolbar by @lrljoe in rappasoft#1896
- Fix has actions by @lrljoe in rappasoft#1901
- Use Computed Properties By Default by @lrljoe in rappasoft#1898
- PHPStan - Config File Update and Baseline by @lrljoe in rappasoft#1903
- BooleanColumn - Toggleable Callback by @lrljoe in rappasoft#1892
- Doc Type Fixes by @lrljoe in rappasoft#1891
- Set Action Position (Left/Center/Right) and Set Actions in Toolbar by @lrljoe in rappasoft#1889
- Fix for Action Button with no icon by @lrljoe in rappasoft#1887
- Add a Recommended Approach document by @lrljoe in rappasoft#1886
- Reorder the "Getting Started" docs by @lrljoe in rappasoft#1884
- Adjust Action Button Margins by @lrljoe in rappasoft#1880
- Add setIconLeft/setIconRight for Actions by @lrljoe in rappasoft#1877
- Default UseComputedProperties to True to default to new views by @lrljoe in rappasoft#1873
- Allow Single Date DateRangeFilter by @lrljoe in rappasoft#1872
- Allow clearing of DateRangeFilter by Text Box by @lrljoe in rappasoft#1875
- Docs Update by @lrljoe in rappasoft#1876
- Default UseComputedProperties to False to allow previously published views to work by default by @lrljoe in rappasoft#1869
- Fix superfluous bulk actions tr > by @lrljoe in rappasoft#1868
- Add an event dispatch for Filter Was Set when filterComponents is updated by @lrljoe in rappasoft#1861
- Correct a locked property that is entangled in js, and add comments around some key properties to prevent reoccurrence by @lrljoe in rappasoft#1859
- Column Features - deselectedIf/selectedIf by @lrljoe in rappasoft#1846
- Add setTrimSearchStringEnabled/setTrimSearchStringDisabled by @lrljoe in rappasoft#1843
- Restore the original JS methods for users with published views by @lrljoe in rappasoft#1848
- Remove Component from Column, move getRows into ComputedProperty by @lrljoe in rappasoft#1838
- Clean up filter generic data by @lrljoe in rappasoft#1837
- Further work to clean up Blades, and use Computed Properties by @lrljoe in rappasoft#1850
- Fix sort queryString bug by @lrljoe in rappasoft#1835
- Boolean/Toggle Filter by @lrljoe in rappasoft#1830
- Merge Column Attributes Back in if Sortable by @lrljoe in rappasoft#1833
- Moving JS to Simplified Method in datatable by @lrljoe in rappasoft#1832
- Boolean/Toggle Filter by @lrljoe in rappasoft#1830
- View component column fixes by @lrljoe in rappasoft#1825
- Update setDelaySelectAllEnabled Docs by @lrljoe in rappasoft#1829
- ViewComponentColumn - New method docs by @lrljoe in rappasoft#1828
- Additional Events & Customisable Behaviour by @lrljoe in rappasoft#1820
- Typehinting to allow events to be used to update Multi-Value Filters by @lrljoe in rappasoft#1822
- Add missing ReturnTypes by @lrljoe in rappasoft#1823
- Removing old $listeners approach, now using the Livewire v3 On attribute by @lrljoe in rappasoft#1821
- Fix ViewComponentColumn issue with not accepting parameters cleanly by @lrljoe in rappasoft#1818
- Add Helpers for TextFilters by @lrljoe in rappasoft#1812
- Change method names for TextFilters handler by @lrljoe in rappasoft#1814
- Capability to set Reorder Column TH Attributes by @lrljoe in rappasoft#1811
- Bulk Actions - Customise Select All Behaviours by @lrljoe in rappasoft#1810
- Fix loading spinner for dark tailwind theme by @lrljoe in rappasoft#1809
- Blade Minimisation & ColumnSelect Cleanup by @lrljoe in rappasoft#1806
- Adjust DateColumn with Missing Tests and Coping with DateTime Casts by @lrljoe in rappasoft#1813
- Add reference to Bulk Actions TH styling in main styling by @lrljoe in rappasoft#1808
- Update docs for setPillsLocale by @lrljoe in rappasoft#1800
- Add note on label method for setAdditionalSelects by @lrljoe in rappasoft#1816
- Added capability to setFilterDefaultValue for a DateRangeFilter by @lrljoe in rappasoft#1796
- Add localised pill values for DateFilter, DateTimeFilter, DateRangeFilter by @lrljoe in rappasoft#1797
- Migrating Carbon usage into Trait, Adding Filter/Search Lifecycle Hooks by @lrljoe in rappasoft#1798
- Add additional DateRangeFilter options by @lrljoe in rappasoft#1793
- Add a new ViewComponentColumn that runs the construction for a View Component by @lrljoe in rappasoft#1786
- Set Custom Classes for Collapsing Column - Collapse/Expand buttons by @lrljoe in rappasoft#1785
- Fix DateTimeFilter by @RenoLooijmans in rappasoft#1784
- Fix AggregateColumn SnakeCase issue by @lrljoe in rappasoft#1777
- Fix NumberRangeFilter initial state when loaded by querystring by @lrljoe in rappasoft#1774
- Fix SnakeCase issue with snake-cased relations for AggregateColumn types (AvgColumn, CountColumn, SumColumn) by @lrljoe in rappasoft#1777
- Set a Prefix for NumberRangeFilter by @RenoLooijmans in rappasoft#1773
- Add Separator customisation for Array Filters for FilterPills by @lrljoe in rappasoft#1772
- Add bulk actions button/dropdown customisations by @lrljoe in rappasoft#1771
- Add new columns (ArrayColumn, AvgColumn, CountColumn, SumColumn) by @lrljoe in rappasoft#1761
- Add new column WireLinkColumn by @lrljoe in rappasoft#1763
- Add Option to Retain Selected when Searching/Filtering by @lrljoe in rappasoft#1762
- Add Option to set locale and default date to DateRangeFilter by @lrljoe in rappasoft#1766
- Fix hide bulk actions when empty not reflecting in frontend by @lrljoe in rappasoft#1747
- Apply cursor pointer only on clickable columns when using Bootstrap by @MP70 in rappasoft#1742
- Always hide bulk actions option by @lrljoe in rappasoft#1752
- Add ArrayColumn (BETA) by @lrljoe in rappasoft#1751
- Optionally disable total item count for simple pagination by @lrljoe in rappasoft#1755
- TypeHint fixes by @lrljoe in rappasoft#1750
- Change Return Type for attributes() to static by @lrljoe in rappasoft#1749
- Switch to using Composer\InstalledVersions for AboutCommand by @lrljoe in rappasoft#1748
- Ensure HTML Columns return HTML correctly by @lrljoe in rappasoft#1737
- Add configurable wire:model for filters by @lrljoe in rappasoft#1699
- Customisable Model paths for Make command by @marvoh in rappasoft#1714
- Add HTML Support for LinkColumn by @codecreeper in rappasoft#1728
- Fix error with DateColumn when empty by @lrljoe in rappasoft#1726
- Migrate to PHPUnit Attributes rather than Doc Comments by @lrljoe in rappasoft#1727
- Remove broken test by @lrljoe in rappasoft#1719
- Add setConfigurableArea by @lrljoe in rappasoft#1706
- Add User prompt for missing inputs by @achyutkneupane in rappasoft#1681
- UI patch: toolbar fix for reordering by @itsLeonB in rappasoft#1690
- Adjust Workflow behaviour for PCOV by @lrljoe in rappasoft#1706
- Updated nl language by @Jerimu in rappasoft#1695
- Updated nl language by @Jerimu in rappasoft#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 rappasoft#1677
- Amend Lifecycle Hooks document to use "public" rather than "protected" methods
- Add setDefaultPerPage by @lrljoe in rappasoft#1671
- Fix collapsing columns not respecting view point collapse points by @lrljoe in rappasoft#1665
- Migrate "updated" Search and FilterComponents calls to WithSearch and WithFilters by @lrljoe in rappasoft#1666
- Allow nullable search/filter values by @lrljoe in rappasoft#1666
- Migration to new Core Traits, and de-duplication of code by @lrljoe in rappasoft#1623
- Fix CHANGELOG.md missing release
- Add capability to show/hide Pagination Details (Rows x of y) by @lrljoe in rappasoft#1618
- Add perPage to queryString by @lrljoe in rappasoft#1618
- Fix published view path by @lrljoe in rappasoft#1615
- Add capability to call a new "addAdditionalSelects()" to append select table fields (without impacting setAdditionalSelect) by @lrljoe in rappasoft#1609
- Ensure mount() is called prior to bundler() executing by @lrljoe in rappasoft#1603
- Add capability to use as a Full Page Component by @amshehzad and @lrljoe in rappasoft#1580
- Add DateColumn by @lrljoe in rappasoft#1589
- Add ColorColumn by @lrljoe in rappasoft#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 rappasoft#1512
- Add capability to set a custom script path for the scripts/styles by @lrljoe in rappasoft#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 rappasoft#1553
- Fixed extraneous space in config.php by @viliusvsx in in rappasoft#1577
- Changed table default vertical overflow to auto by @dmyers in rappasoft#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 rappasoft#1564
- TH Classes
- TH Checkbox Classes
- TD Classes
- TD Checkbox Classes
- Add additional Lifecycle Hook by @lrljoe in rappasoft#1534
- SettingColumns/ColumnsSet
- Migrate methods for pre-render out of render by @lrljoe in rappasoft#1534
- Update tests to reflect hooks by @lrljoe in rappasoft#1534
- Update tests to add invalid string tests for dates by @lrljoe in rappasoft#1534
- Remove maps and minimise functions from FrontendAssets by @lrljoe in rappasoft#1534
- Add Initial Lifecycle Hooks - Configuring/Configured by @lrljoe in rappasoft#1520
- Configuring/Configured
- Add missing tests for DateFilter and DateTimeFilter by @lrljoe in rappasoft#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 - rappasoft#1240
-
Enhancements
- Allow Label Columns to be Sortable - rappasoft#1256
- Add Select All On Page Translations - rappasoft#1244
- Add Contributors Document to track Localisation contributors - rappasoft#1223
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 - rappasoft#1196
- Add capability for passing a custom model path to the MakeCommand - rappasoft#1168
- Add setFilterDefaultValue() on a per-component basis - rappasoft#1191
- Add getFilterDefaultValue() to each Filter Component (to maintain support for PHP7.4 - variable return types) - rappasoft#1191
- Moved Setting of Filter Defaults to Traits/Helpers/FilterHelpers - mountFilterHelpers - rappasoft#1191
- Moved Setting of Theme to Traits/ComponentUtilities - mountComponentUtilities for efficiency - rappasoft#1191
-
Filters
- Fix - Hide the filter label in the header/footer when using as a secondary header/footer
- Fix - Changed the booting order to prevent repeated calling of filters() - rappasoft#1166
- Fix - fixed multiSelectDropdownFilter in menus - rappasoft#1160
- Fix - TypeHint to allow continued support of PHP 7.4 - rappasoft#1185
-
Documentation
- Fix - Minor wording tweak to documentation - rappasoft#1139
- Fix - Fix to example in applying-filters - rappasoft#1171
- Improved template for New Issue/Bug - rappasoft#1194
-
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 - rappasoft#1206
2.12.0 - 2023-04-08
-
AlpineJS Variable for Toolbar Dropdowns to force the dropdown to remain open - childElementOpen - rappasoft#1076
-
Added Custom Column Slug method setCustomSlug('') allowing Columns to use non-roman characters in the Column Title - rappasoft#1088
-
Eager loading so anyone can load any type of relationship - rappasoft#943
-
Improved visibility of active page in pagination - rappasoft#1096
-
Pagination methods
- Retrieve currently displayed IDs - getPerPageDisplayedItemIds()
- Retrieve number of records currently displayed - getPerPageDisplayedItemCount()
- Public variables for the above rappasoft#1136
-
Filter Changes - rappasoft#1129
- Custom Filter Pill Blades per Filter component (setFilterPillBlade()) - rappasoft#1107
- Custom Filter Label Blades per Filter component (setCustomFilterLabel()) - rappasoft#1110
- Filter positioning options when using slide-down - rappasoft#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- rappasoft#1108
- Fix - restrict AppliedFilters to only return non-empty - preventing default values from setting the filter rappasoft#1080
- Minor - added ID to Filter Wrapper allowing for easier targeting in blades/AlpineJS - rappasoft#1087
-
Workflow Changes
- PHPStan - Introducing PHP-Stan at Level 3 to ensure code-quality persists - rappasoft#1133
- Run-Tests - Use of ParaTest, Composer Caching, Fixing the Stability Matrix clash - rappasoft#1105
- php-cs-fixer - (For Badge) - rappasoft#1125 / rappasoft#1126
-
Testing
- Significant quantity of tests, improving test coverage from 81% to 91% - rappasoft#1137
- General DocType/TypeHint Fixes rappasoft#1133
2.11.0 - 2023-02-16
- Support for Laravel 10 - rappasoft#1049
- Trigger events when changing selected columns - rappasoft#1046
- Added before-tools configurable area - rappasoft#1037
- Added support to hide column select on tablet or mobile - rappasoft#1031
- Corrected issue in filter docs - rappasoft#1048
- Fixed filter pill values for option groups - rappasoft#1044
2.10.0 - 2023-01-16
- Added support for MorphOne relationships - rappasoft#844
- Added MultiSelectDropdownFilter - rappasoft#1011
- FilterSlideDown - Ability to set Default to Open or Closed - rappasoft#1017
- Updated EN translations - rappasoft#999
- Updated ES translations - rappasoft#1000
- Bulk Actions Simple Pagination fix & typo in toolbar.blade.php - rappasoft#1015
2.9.0 - 2022-12-21
- Added support for optgroups in SelectFilter - rappasoft#962
- Added information about applying filters on boot - rappasoft#949
- Added ComponentColumn - rappasoft#827
- Added ability to set the pagination mode of
standard
orsimple
- Fixed formatting for relational column - rappasoft#757
- Fixed errors when filter does not exist - rappasoft#979
- Update basic example to represent V2 requirements - rappasoft#944
- Fixed responsive on bootstrap 4 & 5 - rappasoft#903
- Fix for select and checkbox inputs styling with Bootstrap 5 theme - rappasoft#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 - rappasoft#816
- Added Malay translation - rappasoft#821
- Added Dutch translation - rappasoft#834
- Added Ukranian translation - rappasoft#840
- Fixed bug with sort callback on newer versions of Livewire - rappasoft#805
- Fixed: Removed :mixed return type hint as it requires PHP8.0 - rappasoft#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 - rappasoft#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 - rappasoft#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 - rappasoft#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 - rappasoft#731
- Added NumberFilter - rappasoft#729
- Fixed issue with Postgres and quotes - rappasoft#734
2.1.0 - 2022-04-12
- Turkish Translation - rappasoft#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 - rappasoft#691
- Update getTdAttributes to take 4th missing argument
- Add filters in the config section - rappasoft#709
- Update some docs formatting
2.0.0 - 2022-03-30
Ground Up Rebuild
1.21.0 - 2021-11-20
- Added Chinese translation - rappasoft#540
- Added 'select all' checkbox for multiselect filters - rappasoft#551
- Added attributes to filters - rappasoft#558
- Added 4th option for pills fallback value - rappasoft#538
- Removed excess left padding on Bootstrap 5 form check on multiselect filters.
- Patch bulk actions random wire:key - rappasoft#557
1.20.1 - 2021-11-01
- Fix bulk actions breaking change - rappasoft#535
1.20.0 - 2021-10-25
- Singular row translation - rappasoft#526
- Fixed bulk actions dropdown on Bootstrap - rappasoft#519
- Fixed bulk row/select with pagination off - rappasoft#510
- Conditionally show cursor-pointer class instead of inline style - rappasoft#529
1.19.3 - 2021-10-25
- Fix bulk actions - rappasoft#517
1.19.2 - 2021-10-15
- German translation - rappasoft#502
- Extracts just the field name from primaryKey - rappasoft#506
- Update BS4 pagination - rappasoft#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 - rappasoft#491
- Italian translation - rappasoft#493
- Added getTableRowUrlTarget to set row click target based on the row
- Add custom class to table - rappasoft#495
- Fix removing a multiselect filter - rappasoft#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 - rappasoft#469
- Fixed default version of livewire - rappasoft#486
- Fix bulk select with search and add typed property to selected - rappasoft#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. (rappasoft#238)
- Added row count when pagination is disabled. (rappasoft#239**)
- Fixed whitespace-nowrap in tailwind cell. (rappasoft#240)
- Removed old readme for the documentation link.
1.3.0 - 2021-04-25
- Added searchable() to columns (rappasoft#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 (rappasoft#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. (rappasoft#216)
- Support for polling
keep-alive
andvisible
. - Start of a test suite (rappasoft#218)
- Updated Tailwind search clear button (rappasoft#217).
- Updated readme
1.0.4 - 2021-04-18
$searchFilterDebounce
,$searchFilterDefer
,$searchFilterLazy
, for defining the search input data binding property. rappasoft#211- Remove ability to need to define filters if not defining defaults. rappasoft#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