Skip to content

Commit d3efe71

Browse files
authored
Merge pull request #487 from rappasoft/develop
v1.17.0
2 parents 9939041 + 362c857 commit d3efe71

14 files changed

+152
-19
lines changed

CHANGELOG.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,17 @@ All notable changes to `laravel-livewire-tables` will be documented in this file
44

55
## [Unreleased]
66

7+
## [1.17.0] - 2021-10-12
8+
9+
### Added
10+
11+
- Multiselect filter - https://github.com/rappasoft/laravel-livewire-tables/pull/469
12+
13+
### Changed
14+
15+
- Fixed default version of livewire - https://github.com/rappasoft/laravel-livewire-tables/issues/486
16+
- Fix bulk select with search and add typed property to selected - https://github.com/rappasoft/laravel-livewire-tables/pull/439
17+
718
## [1.16.0] - 2021-09-26
819

920
### Added
@@ -484,7 +495,8 @@ All notable changes to `laravel-livewire-tables` will be documented in this file
484495

485496
- Initial release
486497

487-
[Unreleased]: https://github.com/rappasoft/laravel-livewire-tables/compare/v1.16.0...development
498+
[Unreleased]: https://github.com/rappasoft/laravel-livewire-tables/compare/v1.17.0...development
499+
[1.17.0]: https://github.com/rappasoft/laravel-livewire-tables/compare/v1.16.0...v1.17.0
488500
[1.16.0]: https://github.com/rappasoft/laravel-livewire-tables/compare/v1.15.0...v1.16.0
489501
[1.15.0]: https://github.com/rappasoft/laravel-livewire-tables/compare/v1.14.0...v1.15.0
490502
[1.14.0]: https://github.com/rappasoft/laravel-livewire-tables/compare/v1.13.0...v1.14.0

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
],
2020
"require": {
2121
"php": "^7.4|^8.0",
22-
"livewire/livewire": "^2.6.5",
22+
"livewire/livewire": "^2.0",
2323
"spatie/laravel-package-tools": "^1.4.3",
2424
"illuminate/contracts": "^8.0"
2525
},

resources/views/bootstrap-4/includes/filter-pills.blade.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,22 @@
44
<small>@lang('Applied Filters'):</small>
55

66
@foreach($filters as $key => $value)
7-
@if ($key !== 'search' && strlen($value))
7+
@if ($key !== 'search' && filled($value))
88
<span
99
wire:key="filter-pill-{{ $key }}"
1010
class="badge badge-pill badge-info d-inline-flex align-items-center"
1111
>
1212
{{ $filterNames[$key] ?? collect($this->columns())->pluck('text', 'column')->get($key, ucwords(strtr($key, ['_' => ' ', '-' => ' ']))) }}:
1313
@if(isset($customFilters[$key]) && method_exists($customFilters[$key], 'options'))
14-
{{ $customFilters[$key]->options()[$value] ?? $value }}
14+
@if(is_array($value))
15+
@foreach($value as $selectedValue)
16+
{{ $customFilters[$key]->options()[$selectedValue] ?? $selectedValue }}@if(!$loop->last), @endif
17+
@endforeach
18+
@else
19+
{{ $customFilters[$key]->options()[$value] ?? $value }}
20+
@endif
21+
@elseif(is_array($value))
22+
{{ implode(', ', $value) }}
1523
@else
1624
{{ ucwords(strtr($value, ['_' => ' ', '-' => ' '])) }}
1725
@endif
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
@foreach($filter->options() as $optionKey => $value)
2+
<div class="form-check" wire:key="filter-{{ $key }}-multiselect-{{ $optionKey }}">
3+
<input
4+
class="form-check-input"
5+
onclick="event.stopPropagation();"
6+
type="checkbox"
7+
id="filter-{{$key}}-{{ $loop->index }}"
8+
wire:model="filters.{{$key}}"
9+
value="{{ $optionKey }}"
10+
>
11+
<label class="form-check-label" for="filter-{{$key}}-{{ $loop->index }}">{{ $value }}</label>
12+
</div>
13+
@endforeach

resources/views/bootstrap-4/includes/filters.blade.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ class="dropdown-menu w-100 mt-md-3"
3838

3939
@if ($filter->isSelect())
4040
@include('livewire-tables::bootstrap-4.includes.filter-type-select')
41+
@elseif($filter->isMultiSelect())
42+
@include('livewire-tables::bootstrap-4.includes.filter-type-multiselect')
4143
@elseif($filter->isDate())
4244
@include('livewire-tables::bootstrap-4.includes.filter-type-date')
4345
@endif

resources/views/bootstrap-5/includes/filter-pills.blade.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,22 @@
44
<small>@lang('Applied Filters'):</small>
55

66
@foreach($filters as $key => $value)
7-
@if ($key !== 'search' && strlen($value))
7+
@if ($key !== 'search' && filled($value))
88
<span
99
wire:key="filter-pill-{{ $key }}"
1010
class="badge rounded-pill bg-info d-inline-flex align-items-center"
1111
>
1212
{{ $filterNames[$key] ?? collect($this->columns())->pluck('text', 'column')->get($key, ucwords(strtr($key, ['_' => ' ', '-' => ' ']))) }}:
1313
@if(isset($customFilters[$key]) && method_exists($customFilters[$key], 'options'))
14-
{{ $customFilters[$key]->options()[$value] ?? $value }}
14+
@if(is_array($value))
15+
@foreach($value as $selectedValue)
16+
{{ $customFilters[$key]->options()[$selectedValue] ?? $selectedValue }}@if(!$loop->last), @endif
17+
@endforeach
18+
@else
19+
{{ $customFilters[$key]->options()[$value] ?? $value }}
20+
@endif
21+
@elseif(is_array($value))
22+
{{ implode(', ', $value) }}
1523
@else
1624
{{ ucwords(strtr($value, ['_' => ' ', '-' => ' '])) }}
1725
@endif
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
@foreach($filter->options() as $optionKey => $value)
2+
<div class="form-check" wire:key="filter-{{ $key }}-multiselect-{{ $optionKey }}">
3+
<input
4+
onclick="event.stopPropagation();"
5+
type="checkbox"
6+
id="filter-{{$key}}-{{ $loop->index }}"
7+
wire:model="filters.{{$key}}"
8+
value="{{ $optionKey }}"
9+
>
10+
<label class="form-check-label" for="filter-{{$key}}-{{ $loop->index }}">{{ $value }}</label>
11+
</div>
12+
@endforeach

resources/views/bootstrap-5/includes/filters.blade.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ class="dropdown-menu w-100"
3838

3939
@if ($filter->isSelect())
4040
@include('livewire-tables::bootstrap-5.includes.filter-type-select')
41+
@elseif($filter->isMultiSelect())
42+
@include('livewire-tables::bootstrap-5.includes.filter-type-multiselect')
4143
@elseif($filter->isDate())
4244
@include('livewire-tables::bootstrap-5.includes.filter-type-date')
4345
@endif

resources/views/tailwind/includes/filter-pills.blade.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,22 @@
44
<small class="text-gray-700 dark:text-white">@lang('Applied Filters'):</small>
55

66
@foreach($filters as $key => $value)
7-
@if ($key !== 'search' && strlen($value))
7+
@if ($key !== 'search' && filled($value))
88
<span
99
wire:key="filter-pill-{{ $key }}"
1010
class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium leading-4 bg-indigo-100 text-indigo-800 capitalize dark:bg-indigo-200 dark:text-indigo-900"
1111
>
1212
{{ $filterNames[$key] ?? collect($this->columns())->pluck('text', 'column')->get($key, ucwords(strtr($key, ['_' => ' ', '-' => ' ']))) }}:
1313
@if(isset($customFilters[$key]) && method_exists($customFilters[$key], 'options'))
14-
{{ $customFilters[$key]->options()[$value] ?? $value }}
14+
@if(is_array($value))
15+
@foreach($value as $selectedValue)
16+
{{ $customFilters[$key]->options()[$selectedValue] ?? $selectedValue }}@if(!$loop->last), @endif
17+
@endforeach
18+
@else
19+
{{ $customFilters[$key]->options()[$value] ?? $value }}
20+
@endif
21+
@elseif(is_array($value))
22+
{{ implode(', ', $value) }}
1523
@else
1624
{{ ucwords(strtr($value, ['_' => ' ', '-' => ' '])) }}
1725
@endif
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<div class="mt-1 relative rounded-md">
2+
@foreach($filter->options() as $optionKey => $value)
3+
<div wire:key="filter-{{ $key }}-multiselect-{{ $optionKey }}">
4+
<input
5+
type="checkbox"
6+
id="filter-{{$key}}-{{ $loop->index }}"
7+
wire:key="filter-{{$key}}-{{ $loop->index }}"
8+
wire:model="filters.{{$key}}"
9+
value="{{ $optionKey }}"
10+
>
11+
<label for="filter-{{$key}}-{{ $loop->index }}">{{ $value }}</label>
12+
</div>
13+
@endforeach
14+
</div>

0 commit comments

Comments
 (0)