event filter wip
This commit is contained in:
1 parent
abfe5882cb
commit
988a148850
9 files changed
+120
-123
No files matched your search
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
namespace App\Actions;
|
||||
|
||||
use App\Models\Multiline;
|
||||
|
||||
class MultilineGenerator
|
||||
{
|
||||
public static function run()
|
||||
{
|
||||
|
||||
// odds_2ways
|
||||
// odds_3ways
|
||||
// odds_dc
|
||||
// odds_dnb
|
||||
// odds_ggng
|
||||
// odds_handicaps
|
||||
// odds_qualify
|
||||
// odds_totals
|
||||
|
||||
$default = [];
|
||||
$default[1] = [
|
||||
'bettypes' => [1, 16, 3, 4, 5],
|
||||
];
|
||||
|
||||
$multilines = Multiline::where('client_id', auth()->user()->client_id)->get();
|
||||
dd($multilines);
|
||||
|
||||
foreach ($slots as $id => $slot) {
|
||||
$open = true;
|
||||
foreach ($data as $item) {
|
||||
if ($slot->bookmaker_id == $item->bookmaker_id) {
|
||||
$multilines[$id] = $item;
|
||||
$open = false;
|
||||
}
|
||||
}
|
||||
if ($open) {
|
||||
$multilines[$id] = $slot;
|
||||
}
|
||||
}
|
||||
|
||||
return $multilines;
|
||||
}
|
||||
}
|
||||
@@ -20,11 +20,11 @@ class EventResource extends Resource
|
||||
|
||||
protected static ?string $navigationLabel = 'Monitor';
|
||||
|
||||
protected static ?string $modelLabel = 'Monitor';
|
||||
protected static ?string $modelLabel = '';
|
||||
|
||||
protected static ?string $title = 'Monitor';
|
||||
protected static ?string $title = '';
|
||||
|
||||
protected static ?string $pluralModelLabel = 'Monitor';
|
||||
protected static ?string $pluralModelLabel = '';
|
||||
|
||||
public static function form(Schema $schema): Schema
|
||||
{
|
||||
|
||||
@@ -12,7 +12,10 @@ 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\Table;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
|
||||
class EventsTable
|
||||
{
|
||||
@@ -28,7 +31,7 @@ class EventsTable
|
||||
->size(IconSize::ExtraLarge)
|
||||
->icon(fn ($record) => $record->sport->icon)
|
||||
->tooltip(fn ($record) => $record->id),
|
||||
TextColumn::make('txodds_id')->searchable()->label('Match Id')->badge()->copyable(),
|
||||
TextColumn::make('txodds_id')->label('Match Id')->badge()->copyable(),
|
||||
TextColumn::make('starttime')
|
||||
->label('Start')
|
||||
->alignCenter()
|
||||
@@ -40,14 +43,23 @@ class EventsTable
|
||||
->label('Event')
|
||||
->icon(fn ($record) => $record->country->icon)
|
||||
->description(fn ($record) => $record->competition_group->name),
|
||||
TextColumn::make('home.name')->alignRight()->searchable(),
|
||||
TextColumn::make('away.name')->searchable(),
|
||||
TextColumn::make('home.name')->alignRight(),
|
||||
TextColumn::make('away.name'),
|
||||
|
||||
Odds3Way::make('odds_3way.bookmaker')->label('1X2'),
|
||||
])
|
||||
->filters([
|
||||
//
|
||||
])
|
||||
->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(),
|
||||
// ], FiltersLayout::AboveContent)
|
||||
// ->hiddenFilterIndicators()
|
||||
->persistFiltersInSession()
|
||||
->recordActions([
|
||||
// EditAction::make(),
|
||||
DeleteAction::make()->iconButton(),
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
namespace App\Filament\Resources\Multilines\Tables;
|
||||
|
||||
use App\Actions\MultilineGenerator;
|
||||
use App\Filament\Tables\Columns\BookmakerIcon;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Actions\EditAction;
|
||||
use Filament\Tables\Columns\IconColumn;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Enums\FiltersLayout;
|
||||
@@ -53,13 +53,9 @@ class MultilinesTable
|
||||
->headerActions([
|
||||
Action::make('generate')
|
||||
->icon('phosphor-gear-fine')
|
||||
->requiresConfirmation(),
|
||||
// EditAction::make()
|
||||
// ->mutateDataUsing(function (array $data): array {
|
||||
// $data['client_id'] = auth()->user()->client_id;
|
||||
|
||||
// return $data;
|
||||
// }),
|
||||
->action(function () {
|
||||
MultilineGenerator::run();
|
||||
}),
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -2,10 +2,14 @@
|
||||
|
||||
namespace App\Providers;
|
||||
|
||||
use App\Filament\Resources\Events\Pages\ListEvents;
|
||||
use Carbon\Carbon;
|
||||
use Filament\Support\Colors\Color;
|
||||
use Filament\Support\Facades\FilamentColor;
|
||||
use Filament\Support\Facades\FilamentView;
|
||||
use Filament\View\PanelsRenderHook;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Illuminate\View\View;
|
||||
|
||||
class AppServiceProvider extends ServiceProvider
|
||||
{
|
||||
@@ -22,6 +26,14 @@ class AppServiceProvider extends ServiceProvider
|
||||
*/
|
||||
public function boot(): void
|
||||
{
|
||||
FilamentView::registerRenderHook(
|
||||
PanelsRenderHook::RESOURCE_PAGES_LIST_RECORDS_TABLE_BEFORE,
|
||||
fn (): View => view('filament.hooks.table-bettype-filters'),
|
||||
scopes: [
|
||||
ListEvents::class,
|
||||
]
|
||||
);
|
||||
|
||||
Carbon::setLocale(app()->getLocale());
|
||||
|
||||
FilamentColor::register([
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
namespace App\Providers\Filament;
|
||||
|
||||
use App\Filament\Resources\Events\Pages\ListEvents;
|
||||
use Awcodes\LightSwitch\Enums\Alignment;
|
||||
use Awcodes\LightSwitch\LightSwitchPlugin;
|
||||
use Filament\Actions\Action;
|
||||
@@ -17,10 +16,8 @@ use Filament\Pages\Dashboard;
|
||||
use Filament\Panel;
|
||||
use Filament\PanelProvider;
|
||||
use Filament\Support\Enums\Width;
|
||||
use Filament\Tables\View\TablesRenderHook;
|
||||
use Filament\Widgets\AccountWidget;
|
||||
use Filament\Widgets\FilamentInfoWidget;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
|
||||
use Illuminate\Cookie\Middleware\EncryptCookies;
|
||||
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken;
|
||||
@@ -47,13 +44,6 @@ class AdminPanelProvider extends PanelProvider
|
||||
->databaseNotifications()
|
||||
->profile(isSimple: false)
|
||||
->default()
|
||||
->renderHook(
|
||||
TablesRenderHook::TOOLBAR_START,
|
||||
fn (): View => view('filament.mapper.sport-menu'),
|
||||
ListEvents::class
|
||||
)
|
||||
// ->brandLogo(asset('images/nuh-combined.svg'))
|
||||
// ->darkModeBrandLogo(asset('images/nuh-combined-d.svg'))
|
||||
->brandLogo(asset('images/nuh-odds.svg'))
|
||||
->darkModeBrandLogo(asset('images/nuh-odds-d.svg'))
|
||||
->favicon(asset('images/nuh.svg'))
|
||||
|
||||
Reference in new issue
Block a user