From 1857269b388df3412a5a49b1998fe5d6aabefded Mon Sep 17 00:00:00 2001 From: Benjamin Takats Date: Thu, 15 Dec 2022 19:28:04 +0100 Subject: [PATCH] switch year --- .../BitcoinEvent/BitcoinEventTable.php | 25 ++++++++++++------- .../Livewire/Tables/BitcoinEventTable.php | 7 +++--- composer.json | 2 +- .../bitcoin-event-table.blade.php | 4 +++ 4 files changed, 25 insertions(+), 13 deletions(-) diff --git a/app/Http/Livewire/BitcoinEvent/BitcoinEventTable.php b/app/Http/Livewire/BitcoinEvent/BitcoinEventTable.php index 72e11b1e..3b17e63d 100644 --- a/app/Http/Livewire/BitcoinEvent/BitcoinEventTable.php +++ b/app/Http/Livewire/BitcoinEvent/BitcoinEventTable.php @@ -9,25 +9,32 @@ use Livewire\Component; class BitcoinEventTable extends Component { public Country $country; + + public ?int $year = null; + + protected $queryString = ['year']; + public function render() { return view('livewire.bitcoin-event.bitcoin-event-table', [ 'events' => BitcoinEvent::query() - ->get() - ->map(fn($event) => [ - 'id' => $event->id, - 'startDate' => $event->from, - 'endDate' => $event->to, - 'location' => $event->title, - 'description' => $event->description, - ]), + ->get() + ->map(fn($event) => [ + 'id' => $event->id, + 'startDate' => $event->from, + 'endDate' => $event->to, + 'location' => $event->title, + 'description' => $event->description, + ]), ]); } public function popover($content, $ids) { return to_route('bitcoinEvent.table.bitcoinEvent', [ - 'country' => $this->country->code, 'table' => [ + 'country' => $this->country->code, + 'year' => $this->year, + 'table' => [ 'filters' => [ 'byid' => $ids, ] diff --git a/app/Http/Livewire/Tables/BitcoinEventTable.php b/app/Http/Livewire/Tables/BitcoinEventTable.php index f4c06d57..0199fe13 100644 --- a/app/Http/Livewire/Tables/BitcoinEventTable.php +++ b/app/Http/Livewire/Tables/BitcoinEventTable.php @@ -74,8 +74,9 @@ class BitcoinEventTable extends DataTableComponent public function builder(): Builder { return BitcoinEvent::query() - ->where(fn($query) => $query->whereHas('venue.city.country', - fn($query) => $query->where('code', $this->country)) - ->orWhere('show_worldwide', true)); + ->where(fn($query) => $query + ->whereHas('venue.city.country', + fn($query) => $query->where('code', $this->country)) + ->orWhere('show_worldwide', true)); } } diff --git a/composer.json b/composer.json index 54b13123..0b496486 100644 --- a/composer.json +++ b/composer.json @@ -8,7 +8,7 @@ ], "license": "MIT", "require": { - "php": "^8.1", + "php": "^8.2", "akuechler/laravel-geoly": "^1.0", "archtechx/enums": "^0.3.1", "ebess/advanced-nova-media-library": "dev-master#2d7151d8b2159d28e1d73fcc7fe23992e327b7df", diff --git a/resources/views/livewire/bitcoin-event/bitcoin-event-table.blade.php b/resources/views/livewire/bitcoin-event/bitcoin-event-table.blade.php index 19c2e1ea..5deef2b5 100644 --- a/resources/views/livewire/bitcoin-event/bitcoin-event-table.blade.php +++ b/resources/views/livewire/bitcoin-event/bitcoin-event-table.blade.php @@ -44,7 +44,11 @@ new Calendar(this.$refs.calendar, { style: 'background', language: 'de', + startYear: {{ $year }}, dataSource: events, + yearChanged: function(e) { + @this.set('year', e.currentYear); + }, clickDay: function(e) { if(e.events.length > 0) { var content = '';