bettypes switch comparatore
This commit is contained in:
1 parent
bb71c4b406
commit
3fb481afd0
11 files changed
+278
-53
No files matched your search
@@ -53,6 +53,7 @@ class EventResource extends Resource
|
||||
|
||||
public static function getEloquentQuery(): Builder
|
||||
{
|
||||
|
||||
return parent::getEloquentQuery()
|
||||
->where('starttime', '>', Carbon::now())
|
||||
->where('sport_id', auth()->user()->sport_id);
|
||||
|
||||
@@ -3,28 +3,36 @@
|
||||
namespace App\Filament\Resources\Events\Tables;
|
||||
|
||||
use App\Filament\Tables\Columns\Odds3Way;
|
||||
use App\Models\Client;
|
||||
use App\Models\CompetitionGroup;
|
||||
use App\Models\Sport;
|
||||
use App\Models\User;
|
||||
use Carbon\Carbon;
|
||||
use Filament\Actions\BulkActionGroup;
|
||||
use Filament\Actions\DeleteAction;
|
||||
use Filament\Actions\DeleteBulkAction;
|
||||
use Filament\Actions\EditAction;
|
||||
use Filament\Forms\Components\Select;
|
||||
use Filament\Schemas\Components\Utilities\Get;
|
||||
use Filament\Support\Enums\FontWeight;
|
||||
use Filament\Support\Enums\IconSize;
|
||||
use Filament\Tables\Columns\IconColumn;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Enums\FiltersLayout;
|
||||
use Filament\Tables\Filters\SelectFilter;
|
||||
use Filament\Tables\Filters\Filter;
|
||||
use Filament\Tables\Table;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
|
||||
class EventsTable
|
||||
{
|
||||
public static $bettype = '1x2';
|
||||
protected $listeners = [
|
||||
'bettypeswitch' => '$refresh',
|
||||
];
|
||||
|
||||
public static function configure(Table $table): Table
|
||||
{
|
||||
return $table
|
||||
->poll('10s')
|
||||
// ->poll('10s')
|
||||
->striped()
|
||||
->columns([
|
||||
IconColumn::make('sport.icon')
|
||||
@@ -53,18 +61,41 @@ class EventsTable
|
||||
->defaultSort('starttime', 'ASC')
|
||||
->deferFilters(false)
|
||||
->filters([
|
||||
SelectFilter::make('sport_id')
|
||||
->label('Sport')
|
||||
->default(1)
|
||||
->selectablePlaceholder(false)
|
||||
->relationship('sport', 'name', fn (Builder $query) => $query->where('is_active', 1))
|
||||
->preload(),
|
||||
// SelectFilter::make('competition_group_id')
|
||||
// ->label('Tornament')
|
||||
// ->options(fn () => Event::where('is_active', 1)->pluck('sport', 'id')
|
||||
// ->relationship('sport', 'name', fn (Builder $query) => $query->where('is_active', 1))
|
||||
// ->preload(),
|
||||
], FiltersLayout::AboveContent)
|
||||
Filter::make('event')
|
||||
->form([
|
||||
Select::make('sport_id')
|
||||
->label('Sport')
|
||||
->default(1)
|
||||
->options(function () {
|
||||
$sports = Client::where('id', auth()->user()->client_id)->pluck('sport')->first();
|
||||
|
||||
return Sport::query()->whereIn('id', $sports)->pluck('name', 'id');
|
||||
})
|
||||
->afterStateUpdated(function ($state) {
|
||||
|
||||
User::where('id', auth()->user()->id)->update(['sport_id' => $state]);
|
||||
}),
|
||||
Select::make('competition_group_id')
|
||||
->label('League')
|
||||
->default(1)
|
||||
->options(function (Get $get) {
|
||||
return CompetitionGroup::where('sport_id', $get('sport_id'))->pluck('name', 'id');
|
||||
})
|
||||
->live(),
|
||||
])
|
||||
->query(function (Builder $query, array $data): Builder {
|
||||
|
||||
return $query
|
||||
->when(
|
||||
$data['sport_id'],
|
||||
fn (Builder $query, $sport_id) => $query->where('sport_id', $sport_id)
|
||||
)->when(
|
||||
$data['competition_group_id'],
|
||||
fn (Builder $query, $competition_group_id) => $query->where('competition_group_id', $competition_group_id)
|
||||
);
|
||||
})
|
||||
->columns(3)->columnSpan(3),
|
||||
], layout: FiltersLayout::AboveContent)
|
||||
->hiddenFilterIndicators(false)
|
||||
->persistFiltersInSession()
|
||||
->recordActions([
|
||||
|
||||
@@ -47,7 +47,7 @@ class MultilineClientsTable
|
||||
->defaultSort('sort')
|
||||
->deferFilters(false)
|
||||
->filters([
|
||||
Filter::make('ligafilter')
|
||||
Filter::make('multilineclient')
|
||||
->form([
|
||||
Select::make('sport_id')
|
||||
->label('Sport')
|
||||
|
||||
Reference in new issue
Block a user