Skip to content
Open

q #2

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
bc1229a
Improve rows class list (#2055)
luanfreitasdev Jan 10, 2026
207e6fe
[6.x] Allow the user to define whether the clearFilters should be dis…
johannesMEGABAD Jan 10, 2026
3a73243
Fix reference to element in getAttributes method
luanfreitasdev Jan 11, 2026
35276cc
Update dependencies in package.json and yarn.lock for improved compat…
luanfreitasdev Jan 11, 2026
65fe1f6
wip
luanfreitasdev Jan 11, 2026
be620d2
Refactor filter component inclusion in table-base.blade.php for impro…
luanfreitasdev Jan 12, 2026
88d8ebb
fix: improve Indonesian translation for datatable (#2059)
leemrtnzz Jan 17, 2026
e64b6fb
update export button to standardize display (#2060)
MrYamous Jan 18, 2026
6f063ab
Fix hasLazyEnabled check to be a method call (#2063)
edwinheij Jan 20, 2026
2acdb0a
wip (#2064)
luanfreitasdev Jan 20, 2026
2c855e4
fix clearFilter method with dot-notation in field name (#2057)
edwinheij Jan 22, 2026
6b07541
chore: remove unused use statement (#2067)
MrYamous Jan 23, 2026
7f9545b
build assets
luanfreitasdev Jan 23, 2026
3eed88f
fix: two rows placement Bootstrap5 filters (input-text, number). (#2070)
jamesRUS52 Jan 30, 2026
adf7a8c
Update docblocks (#2071)
MrYamous Jan 30, 2026
2210f7f
feat: add sortUsing function to column for custom sorting (#2066)
xabec Feb 7, 2026
14a5271
Feat: support OpenScout v5 (#2072)
MrYamous Feb 7, 2026
0039b2f
[6.x] DaisyUI - Added py-2 to pg-filter-container so that there is sp…
johannesMEGABAD Feb 16, 2026
b5cd2bb
[6.x] DaisyUI - Removed space-y-1 from input-text filter to resolve a…
johannesMEGABAD Feb 16, 2026
2b91b6c
Bug Fix for PowerGrid::cache with Columns and PHPStan Issues (#2077)
alloylab Feb 16, 2026
bd5f97f
refactor: translated remaining strings from English to Spanish (#2075)
gonzda Feb 16, 2026
efe9bee
In table changed set wire:key to full rowId (#2080)
JiriOpler Feb 17, 2026
cb9849b
Default filters with tests (#2076)
h4or Feb 19, 2026
4fc7717
[6.x] Daisy UI - removed space-y-1 from datepicker to properly align …
johannesMEGABAD Feb 19, 2026
1b6b46d
[6.x] DaisyUI - Filters are showing in the way they are written in th…
johannesMEGABAD Feb 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .github/workflows/mysql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,8 @@ jobs:
composer require "laravel/framework:${{ matrix.laravel }}" "livewire/livewire:${{ matrix.livewire }}" --no-interaction --no-update
composer install

- name: Install openspout/openspout
if: matrix.php == '8.2'
run: composer require openspout/openspout
- name: Install openspout/openspout v4
run: composer require openspout/openspout ^4.23

- name: MySQL
run: composer test:mysql
5 changes: 2 additions & 3 deletions .github/workflows/postgres.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,8 @@ jobs:
composer require "laravel/framework:${{ matrix.laravel }}" "livewire/livewire:${{ matrix.livewire }}" --no-interaction --no-update
composer install

- name: Install openspout/openspout
if: matrix.php == '8.2'
run: composer require openspout/openspout
- name: Install openspout/openspout v4
run: composer require openspout/openspout ^4.23

- name: PostGreSQL
run: composer test:pgsql
5 changes: 2 additions & 3 deletions .github/workflows/sqlite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,8 @@ jobs:
composer require "laravel/framework:${{ matrix.laravel }}" "livewire/livewire:${{ matrix.livewire }}" --no-interaction --no-update
composer install

- name: Install openspout/openspout
if: matrix.php == '8.2'
run: composer require openspout/openspout
- name: Install openspout/openspout v4
run: composer require openspout/openspout ^4.23

- name: SQLite
run: composer test:sqlite
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@ tests/cypress/app/
package-lock.json
tests/cypress/cypress/screenshots/*
composer.lock
/packages/*
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"larastan/larastan": "^2.0|^3.0",
"laradumps/laradumps": "^4.6",
"laravel/scout": "^10.11.3",
"openspout/openspout": "^4.24.5",
"openspout/openspout": "^4.24.5|^5.0",
"composer/composer": "^2.8"
},
"suggest": {
Expand Down
12 changes: 10 additions & 2 deletions dist/.vite/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,20 @@
"resources/css/bootstrap5.css": {
"file": "bootstrap5.css",
"src": "resources/css/bootstrap5.css",
"isEntry": true
"isEntry": true,
"name": "bootstrap5",
"names": [
"bootstrap5.css"
]
},
"resources/css/tailwind.css": {
"file": "tailwind.css",
"src": "resources/css/tailwind.css",
"isEntry": true
"isEntry": true,
"name": "tailwind",
"names": [
"tailwind.css"
]
},
"resources/js/powergrid.js": {
"file": "powergrid.js",
Expand Down
12 changes: 6 additions & 6 deletions dist/powergrid.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/tailwind.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 11 additions & 11 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,17 +24,17 @@
},
"homepage": "https://github.com/Power-Components/livewire-powergrid#readme",
"devDependencies": {
"@tailwindcss/forms": "^0.5.10",
"@tailwindcss/vite": "^4.0.12",
"alpinejs": "^3.14.7",
"autoprefixer": "^10.4.20",
"blade-formatter": "^1.41.1",
"cypress": "^13.16.1",
"@tailwindcss/forms": "^0.5.11",
"@tailwindcss/vite": "^4.1.18",
"alpinejs": "^3.15.3",
"autoprefixer": "^10.4.23",
"blade-formatter": "^1.44.2",
"cypress": "^15.8.2",
"resolve-url-loader": "^5.0.0",
"sass": "^1.82.0",
"sass-loader": "^16.0.4",
"tailwindcss": "^4.0.12",
"tom-select": "^2.4.1",
"vite": "^6.4.1"
"sass": "^1.97.2",
"sass-loader": "^16.0.6",
"tailwindcss": "^4.1.18",
"tom-select": "^2.4.3",
"vite": "^7.3.1"
}
}
6 changes: 4 additions & 2 deletions resources/config/livewire-powergrid.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
<?php

use Illuminate\Support\Js;

return [

/*
Expand Down Expand Up @@ -141,6 +139,10 @@

'exportable' => [
'default' => 'openspout_v4',
'openspout_v5' => [
'xlsx' => \PowerComponents\LivewirePowerGrid\Components\Exports\OpenSpout\v5\ExportToXLS::class,
'csv' => \PowerComponents\LivewirePowerGrid\Components\Exports\OpenSpout\v5\ExportToCsv::class,
],
'openspout_v4' => [
'xlsx' => \PowerComponents\LivewirePowerGrid\Components\Exports\OpenSpout\v4\ExportToXLS::class,
'csv' => \PowerComponents\LivewirePowerGrid\Components\Exports\OpenSpout\v4\ExportToCsv::class,
Expand Down
3 changes: 1 addition & 2 deletions resources/js/components/pg-row-attributes.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
export default (params) => ({
rowId: params.rowId,
rules: params.rules,
defaultClasses: params.defaultClasses,
attributes: [],
theme: [],
init() {
Expand All @@ -16,7 +15,7 @@ export default (params) => ({

getAttributes() {
let attributes = {
class: this.defaultClasses
class: this.$el.getAttribute('class') || '',
};

this.attributes.forEach(attribute => {
Expand Down
28 changes: 14 additions & 14 deletions resources/lang/es/datatable.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
return [
'buttons' => [
'filter' => 'Filtrar',
'clear_all_filters' => 'Clear all',
'clear_all_filters' => 'Limpiar todo',
],
'labels' => [
'action' => 'Acción',
Expand All @@ -12,7 +12,7 @@
'no_data' => 'No se encontraron registros.',
'all' => 'Todos',
'selected' => 'Seleccionado',
'filtered' => 'Filtrada',
'filtered' => 'Filtrado',
],
'placeholders' => [
'search' => 'Buscar',
Expand Down Expand Up @@ -43,10 +43,10 @@
'contains_not' => 'No contiene',
'starts_with' => 'Comienza por',
'ends_with' => 'Termina en',
'is_null' => 'És nulo',
'is_not_null' => 'No és nulo',
'is_blank' => 'És blanco',
'is_not_blank' => 'No és blanco',
'is_null' => 'Es nulo',
'is_not_null' => 'No es nulo',
'is_blank' => 'Es blanco',
'is_not_blank' => 'No es blanco',
'is_empty' => 'Esta relleno',
'is_not_empty' => 'No está relleno',
],
Expand All @@ -55,21 +55,21 @@
'completed' => '¡Exportación completada! Tus archivos están listos para descargar',
],
'soft_deletes' => [
'message_with_trashed' => 'Displaying all records, including deleted ones.',
'message_only_trashed' => 'Displaying only deleted records.',
'without_trashed' => 'Without deleted',
'with_trashed' => 'With deleted',
'only_trashed' => 'Only deleted',
'message_with_trashed' => 'Mostrando todos los registros, incluidos los eliminados.',
'message_only_trashed' => 'Mostrando solo los registros eliminados.',
'without_trashed' => 'Sin eliminados',
'with_trashed' => 'Con eliminados',
'only_trashed' => 'Solo eliminados',
],
'multi_sort' => [
'message' => 'Multiple sort is active',
'message' => 'La ordenación múltiple está activa',
],
'buttons_macros' => [
'confirm' => [
'message' => 'Are you sure you want to perform this action?',
'message' => 'La ordenación múltiple está activa',
],
'confirm_prompt' => [
'message' => "Are you sure you want to perform this action? \n\n Enter :confirmValue to confirm.",
'message' => "¿Estás seguro de que deseas realizar esta acción? \n\n Escribe :confirmValue para confirmar.",
],
],
];
6 changes: 3 additions & 3 deletions resources/lang/id/datatable.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
return [
'buttons' => [
'filter' => 'Filter',
'clear_all_filters' => 'Clear all',
'clear_all_filters' => 'Hapus semua',
],
'labels' => [
'action' => 'Aksi',
Expand Down Expand Up @@ -66,10 +66,10 @@
],
'buttons_macros' => [
'confirm' => [
'message' => 'Are you sure you want to perform this action?',
'message' => 'Apakah anda yakin ingin melakukan tindakan ini?',
],
'confirm_prompt' => [
'message' => "Are you sure you want to perform this action? \n\n Enter :confirmValue to confirm.",
'message' => "Apakah anda yakin ingin melakukan tindakan ini? \n\n Ketik :confirmValue untuk mengonfirmasi.",
],
],
];
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,10 @@
@if (!$inline)
<label class="form-label fw-semibold mb-1">{{ $title }}</label>
@endif
<div class="d-flex flex-row gap-2 align-items-center">
<div @class(["d-flex", "flex-row gap-2 align-items-center" => !$inline, "flex-column align-items-start gap-1" => $inline])>
@if ($showSelectOptions)
<select
class="form-select form-select-sm w-auto"
@class(["form-select form-select-sm", "w-auto" => !$inline, "w-full" => $inline])
style="{{ data_get($column, 'headerStyle') }}"
{{ $defaultAttributes['selectAttributes'] }}
>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
@if (!$inline)
<label class="form-label fw-semibold mb-1">{{ $title ?? '' }}</label>
@endif
<div class="d-flex flex-row gap-2 align-items-center">
<div @class(["d-flex", "flex-row gap-2 align-items-center" => !$inline, "flex-column align-items-start gap-1" => $inline])>
<div>
<input
{{ $defaultAttributes['inputStartAttributes'] }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ class="text-muted small"
<a
class="text-muted small"
wire:click.prevent="exportToXLS(true)"
x-bind:disabled="countChecked.length === 0"
href="#"
>
(<span class="text-muted small" x-text="countChecked.length"></span>) @lang('livewire-powergrid::datatable.labels.selected')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,10 @@
->filter(fn($column) => filled(data_get($column, 'filters')));
@endphp

@if ($filtersFromColumns->count() > 0)
<x-livewire-powergrid::frameworks.bootstrap5.filter
:enabled-filters="$enabledFilters"
:tableName="$tableName"
:columns="$columns"
:filtersFromColumns="$filtersFromColumns"
:theme="$theme"
/>
@endif
@includeWhen(
$filtersFromColumns->count() > 0,
'livewire-powergrid::components.frameworks.bootstrap5.filter'
)
@endif

<div
Expand Down
13 changes: 11 additions & 2 deletions resources/views/components/frameworks/daisyui/filter.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,22 @@ class="mt-2 md:mt-0"
x-transition:leave="transform duration-100"
x-transition:leave-start="opacity-100 scale-100"
x-transition:leave-end="opacity-0 scale-90"
class="pg-filter-container"
class="pg-filter-container py-2"
>
@php
$customConfig = [];

$componentFilters = collect($this->filters());
$filterOrderMap = $componentFilters->pluck('field')->flip();

// Sort filters based on the order they appear in filters() method
$sortedFilters = $filtersFromColumns->sortBy(function ($column) use ($filterOrderMap) {
$fieldName = data_get($column, 'filters.field');
return $filterOrderMap->get($fieldName, 999); // 999 for fields not found in filters()
});
@endphp
<div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 2xl:grid-cols-6 gap-3">
@foreach ($filtersFromColumns as $column)
@foreach ($sortedFilters as $column)
@php
$filter = data_get($column, 'filters');
$title = data_get($column, 'title');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
x-data="pgFlatpickr(@js($params))"
>
<div
@class([theme_style($theme, 'filterDatePicker.base'), 'space-y-1' => !$inline])
@class([theme_style($theme, 'filterDatePicker.base')])
>
@if (!$inline)
<label class="label">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
/>
@else
<div
@class([theme_style($theme, 'filterInputText.base'), 'space-y-1' => !$inline])
@class([theme_style($theme, 'filterInputText.base')])
>
@if (!$inline)
<label class="label">
Expand Down Expand Up @@ -82,7 +82,6 @@ class="{{ $selectClasses }}"
@endif
<div @class([
'pl-0 w-full sm:w-1/2' => !$inline && $showSelectOptions,
'pt-1' => !$showSelectOptions,
])>
<input
data-cy="input_text_{{ $tableName }}_{{ $field }}"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ class="btn btn-sm"
<button
wire:click.prevent="exportToCsv(true)"
x-on:click="open = false"
x-bind:disabled="countChecked.length === 0"
:class="{ 'cursor-not-allowed': countChecked.length === 0 }"
class="btn btn-sm"
>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,10 @@ class="{{ theme_style($theme, 'table.layout.base') }}"
->filter(fn($column) => filled(data_get($column, 'filters')));
@endphp

@if ($filtersFromColumns->count() > 0)
<x-livewire-powergrid::frameworks.tailwind.filter
:enabled-filters="$enabledFilters"
:tableName="$tableName"
:columns="$columns"
:filtersFromColumns="$filtersFromColumns"
:theme="$theme"
/>
@endif
@includeWhen(
$filtersFromColumns->count() > 0,
'livewire-powergrid::components.frameworks.daisyui.filter'
)
@endif

<div
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,6 @@ class="pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 tex
@endif
<div @class([
'pl-0 w-full sm:w-1/2' => !$inline && $showSelectOptions,
'pt-1' => !$showSelectOptions,
])>
<input
data-cy="input_text_{{ $tableName }}_{{ $field }}"
Expand Down
Loading