event calendar

This commit is contained in:
Benjamin Takats
2022-12-15 19:17:05 +01:00
parent 03f273c965
commit 166d47c7f2
3 changed files with 101 additions and 1 deletions

View File

@@ -2,6 +2,7 @@
namespace App\Http\Livewire\BitcoinEvent;
use App\Models\BitcoinEvent;
use App\Models\Country;
use Livewire\Component;
@@ -10,6 +11,27 @@ class BitcoinEventTable extends Component
public Country $country;
public function render()
{
return view('livewire.bitcoin-event.bitcoin-event-table');
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,
]),
]);
}
public function popover($content, $ids)
{
return to_route('bitcoinEvent.table.bitcoinEvent', [
'country' => $this->country->code, 'table' => [
'filters' => [
'byid' => $ids,
]
]
]);
}
}

View File

@@ -6,6 +6,7 @@ use App\Models\BitcoinEvent;
use Illuminate\Database\Eloquent\Builder;
use Rappasoft\LaravelLivewireTables\DataTableComponent;
use Rappasoft\LaravelLivewireTables\Views\Column;
use Rappasoft\LaravelLivewireTables\Views\Filters\TextFilter;
class BitcoinEventTable extends DataTableComponent
{
@@ -34,6 +35,17 @@ class BitcoinEventTable extends DataTableComponent
->setPerPage(10);
}
public function filters(): array
{
return [
TextFilter::make('Event by ID', 'byid')
->hiddenFromMenus()
->filter(function (Builder $builder, string $value) {
$builder->whereIn('bitcoin_events.id', str($value)->explode(','));
}),
];
}
public function columns(): array
{
return [