alarms finsihed
This commit is contained in:
1 parent
99b657eb3a
commit
ca58eba530
8 files changed
+200
-96
No files matched your search
@@ -3,17 +3,9 @@
|
||||
namespace App\Filament\Resources\Events\Pages;
|
||||
|
||||
use App\Filament\Resources\Events\EventResource;
|
||||
use Filament\Actions\DeleteAction;
|
||||
use Filament\Resources\Pages\EditRecord;
|
||||
|
||||
class EditEvent extends EditRecord
|
||||
{
|
||||
protected static string $resource = EventResource::class;
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
// DeleteAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,11 @@ class ListEvents extends ListRecords
|
||||
|
||||
protected string|Width|null $maxContentWidth = Width::Full;
|
||||
|
||||
protected $listeners = ['refreshBettypeMenu' => '$refresh'];
|
||||
protected $listeners = [
|
||||
'refreshBettypeMenu' => '$refresh',
|
||||
'filterUpdateGreen' => 'updateTableFiltersGreen',
|
||||
'filterUpdateYellow' => 'updateTableFiltersYellow',
|
||||
'filterUpdateRed' => 'updateTableFiltersRed'];
|
||||
|
||||
protected function getHeaderWidgets(): array
|
||||
{
|
||||
@@ -22,6 +26,27 @@ class ListEvents extends ListRecords
|
||||
];
|
||||
}
|
||||
|
||||
public function updateTableFiltersGreen(string $filter): void
|
||||
{
|
||||
$this->tableFilters['events']['filter_alarm_yellow'] = null;
|
||||
$this->tableFilters['events']['filter_alarm_red'] = null;
|
||||
$this->tableFilters['events']['filter_alarm_green'] = $filter;
|
||||
}
|
||||
|
||||
public function updateTableFiltersYellow(string $filter): void
|
||||
{
|
||||
$this->tableFilters['events']['filter_alarm_red'] = null;
|
||||
$this->tableFilters['events']['filter_alarm_green'] = null;
|
||||
$this->tableFilters['events']['filter_alarm_yellow'] = $filter;
|
||||
}
|
||||
|
||||
public function updateTableFiltersRed(string $filter): void
|
||||
{
|
||||
$this->tableFilters['events']['filter_alarm_yellow'] = null;
|
||||
$this->tableFilters['events']['filter_alarm_green'] = null;
|
||||
$this->tableFilters['events']['filter_alarm_red'] = $filter;
|
||||
}
|
||||
|
||||
public function getColumns(): int|array
|
||||
{
|
||||
return [
|
||||
|
||||
@@ -14,6 +14,7 @@ use App\Models\Event;
|
||||
use App\Models\EventBookmaker;
|
||||
use App\Models\EventUserStar;
|
||||
use App\Models\Group;
|
||||
use App\Models\OddsTable;
|
||||
use App\Models\Sport;
|
||||
use App\Models\User;
|
||||
use CodeWithKyrian\FilamentDateRange\Forms\Components\DateRangePicker;
|
||||
@@ -22,6 +23,7 @@ use Filament\Actions\ActionGroup;
|
||||
use Filament\Actions\BulkActionGroup;
|
||||
use Filament\Actions\DeleteAction;
|
||||
use Filament\Actions\DeleteBulkAction;
|
||||
use Filament\Forms\Components\Hidden;
|
||||
use Filament\Forms\Components\Select;
|
||||
use Filament\Schemas\Components\Utilities\Get;
|
||||
use Filament\Support\Enums\FontWeight;
|
||||
@@ -173,6 +175,9 @@ class EventsTable
|
||||
Filter::make('events')
|
||||
->columns(5)->columnSpan(5)
|
||||
->schema([
|
||||
Hidden::make('filter_alarm_green'),
|
||||
Hidden::make('filter_alarm_yellow'),
|
||||
Hidden::make('filter_alarm_red'),
|
||||
Select::make(name: 'sport_id')
|
||||
->options(fn () => Sport::getSportForClient())
|
||||
->default(self::$user->sport_id)
|
||||
@@ -299,6 +304,51 @@ class EventsTable
|
||||
->whereDate('starttime', '<=', $end->format('Y-m-d 00:00:00'));
|
||||
}
|
||||
}
|
||||
)->when(
|
||||
$data['filter_alarm_green'],
|
||||
function (Builder $query, $filter_alarm_green) {
|
||||
$res = OddsTable::where('name', $filter_alarm_green)->value('fieldnames');
|
||||
$fieldnames = explode(',', $res);
|
||||
|
||||
return $query->whereHas('event_bookmaker', function ($query) use ($fieldnames) {
|
||||
$query->where('bookmaker_id', auth()->user()->bookmaker_id)
|
||||
->where(function ($query) use ($fieldnames) {
|
||||
foreach ($fieldnames as $field) {
|
||||
$query->orWhere($field, 1);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
)->when(
|
||||
$data['filter_alarm_yellow'],
|
||||
function (Builder $query, $filter_alarm_yellow) {
|
||||
$res = OddsTable::where('name', $filter_alarm_yellow)->value('fieldnames');
|
||||
$fieldnames = explode(',', $res);
|
||||
|
||||
return $query->whereHas('event_bookmaker', function ($query) use ($fieldnames) {
|
||||
$query->where('bookmaker_id', auth()->user()->bookmaker_id)
|
||||
->where(function ($query) use ($fieldnames) {
|
||||
foreach ($fieldnames as $field) {
|
||||
$query->orWhere($field, 2);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
)->when(
|
||||
$data['filter_alarm_red'],
|
||||
function (Builder $query, $filter_alarm_red) {
|
||||
$res = OddsTable::where('name', $filter_alarm_red)->value('fieldnames');
|
||||
$fieldnames = explode(',', $res);
|
||||
|
||||
return $query->whereHas('event_bookmaker', function ($query) use ($fieldnames) {
|
||||
$query->where('bookmaker_id', auth()->user()->bookmaker_id)
|
||||
->where(function ($query) use ($fieldnames) {
|
||||
foreach ($fieldnames as $field) {
|
||||
$query->orWhere($field, 3);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
);
|
||||
})->indicateUsing(function (array $data): array {
|
||||
$indicators = [];
|
||||
@@ -320,13 +370,19 @@ class EventsTable
|
||||
}
|
||||
}
|
||||
|
||||
if ($data['competition_group_id'] ?? null) {
|
||||
$competition_groups = CompetitionGroup::whereIn('id', $data['competition_group_id'])->pluck('name')->toArray();
|
||||
if (count($competition_groups) > 1) {
|
||||
$indicators[] = Indicator::make('Leagues: '.implode(', ', $competition_groups))->removeField('competition_group_id')->color('info');
|
||||
} else {
|
||||
$indicators[] = Indicator::make('League: '.$competition_groups[0])->removeField('competition_group_id')->color('info')->color('info');
|
||||
}
|
||||
if ($data['filter_alarm_green'] ?? null) {
|
||||
$title = OddsTable::where('name', $data['filter_alarm_green'])->value('title');
|
||||
$indicators[] = Indicator::make('Alarm: '.$title)->removeField('filter_alarm_green')->color('success');
|
||||
}
|
||||
|
||||
if ($data['filter_alarm_yellow'] ?? null) {
|
||||
$title = OddsTable::where('name', $data['filter_alarm_yellow'])->value('title');
|
||||
$indicators[] = Indicator::make('Alarm: '.$title)->removeField('filter_alarm_yellow')->color('warning');
|
||||
}
|
||||
|
||||
if ($data['filter_alarm_red'] ?? null) {
|
||||
$title = OddsTable::where('name', $data['filter_alarm_red'])->value('title');
|
||||
$indicators[] = Indicator::make('Alarm: '.$title)->removeField('filter_alarm_red')->color('danger');
|
||||
}
|
||||
|
||||
if ($data['starttime_period'] ?? null) {
|
||||
@@ -343,6 +399,15 @@ class EventsTable
|
||||
}
|
||||
}
|
||||
|
||||
if ($data['competition_group_id'] ?? null) {
|
||||
$competition_groups = CompetitionGroup::whereIn('id', $data['competition_group_id'])->pluck('name')->toArray();
|
||||
if (count($competition_groups) > 1) {
|
||||
$indicators[] = Indicator::make('Leagues: '.implode(', ', $competition_groups))->removeField('competition_group_id')->color('info');
|
||||
} else {
|
||||
$indicators[] = Indicator::make('League: '.$competition_groups[0])->removeField('competition_group_id')->color('info')->color('info');
|
||||
}
|
||||
}
|
||||
|
||||
if ($data['stars_status'] ?? null) {
|
||||
$indicators[] = Indicator::make('Favorits')->removeField('stars_status')->color('info');
|
||||
}
|
||||
|
||||
@@ -3,17 +3,22 @@
|
||||
namespace App\Filament\Resources\Events\Widgets;
|
||||
|
||||
use App\Actions\AlarmStatistic;
|
||||
use Filament\Widgets\Concerns\InteractsWithPageFilters;
|
||||
use Filament\Widgets\StatsOverviewWidget;
|
||||
use Filament\Widgets\StatsOverviewWidget\Stat;
|
||||
|
||||
class AlarmWidget extends StatsOverviewWidget
|
||||
{
|
||||
use InteractsWithPageFilters;
|
||||
|
||||
protected $listeners = [
|
||||
'refreshAlarmWidget' => '$refresh',
|
||||
];
|
||||
|
||||
protected ?string $pollingInterval = '10s';
|
||||
|
||||
public array $filters = [];
|
||||
|
||||
protected function getStats(): array
|
||||
{
|
||||
|
||||
@@ -23,69 +28,85 @@ class AlarmWidget extends StatsOverviewWidget
|
||||
case 1:
|
||||
return [
|
||||
Stat::make('1X2', '1X2')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => '1X2', 'red' => $res['odds_3ways'][3] ?? 0, 'yellow' => $res['odds_3ways'][2] ?? 0, 'green' => $res['odds_3ways'][1] ?? 0]),
|
||||
['filter' => 'odds_3ways', 'title' => '1X2', 'red' => $res['odds_3ways'][3] ?? 0, 'yellow' => $res['odds_3ways'][2] ?? 0, 'green' => $res['odds_3ways'][1] ?? 0]),
|
||||
Stat::make('1X2', '1X2')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => '1X2 HT', 'red' => $res['odds_3ways_ht'][3] ?? 0, 'yellow' => $res['odds_3ways_ht'][2] ?? 0, 'green' => $res['odds_3ways_ht'][1] ?? 0]),
|
||||
['filter' => 'odds_3ways_ht', 'title' => '1X2 HT', 'red' => $res['odds_3ways_ht'][3] ?? 0, 'yellow' => $res['odds_3ways_ht'][2] ?? 0, 'green' => $res['odds_3ways_ht'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'Totals', 'red' => $res['odds_totals'][3] ?? 0, 'yellow' => $res['odds_totals'][2] ?? 0, 'green' => $res['odds_totals'][1] ?? 0]),
|
||||
['filter' => 'odds_totals', 'title' => 'Totals', 'red' => $res['odds_totals'][3] ?? 0, 'yellow' => $res['odds_totals'][2] ?? 0, 'green' => $res['odds_totals'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'Totals HT', 'red' => $res['odds_totals_ht'][3] ?? 0, 'yellow' => $res['odds_totals_ht'][2] ?? 0, 'green' => $res['odds_totals_ht'][1] ?? 0]),
|
||||
['filter' => 'odds_totals_ht', 'title' => 'Totals HT', 'red' => $res['odds_totals_ht'][3] ?? 0, 'yellow' => $res['odds_totals_ht'][2] ?? 0, 'green' => $res['odds_totals_ht'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'GG NG', 'red' => $res['odds_ggng'][3] ?? 0, 'yellow' => $res['odds_ggng'][2] ?? 0, 'green' => $res['odds_ggng'][1] ?? 0]),
|
||||
['filter' => 'odds_ggng', 'title' => 'GG NG', 'red' => $res['odds_ggng'][3] ?? 0, 'yellow' => $res['odds_ggng'][2] ?? 0, 'green' => $res['odds_ggng'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'DNB', 'red' => $res['odds_dnb'][3] ?? 0, 'yellow' => $res['odds_dnb'][2] ?? 0, 'green' => $res['odds_dnb'][1] ?? 0]),
|
||||
['filter' => 'odds_dnb', 'title' => 'DNB', 'red' => $res['odds_dnb'][3] ?? 0, 'yellow' => $res['odds_dnb'][2] ?? 0, 'green' => $res['odds_dnb'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'DC', 'red' => $res['odds_dc'][3] ?? 0, 'yellow' => $res['odds_dc'][2] ?? 0, 'green' => $res['odds_dc'][1] ?? 0]),
|
||||
['filter' => 'odds_dc', 'title' => 'DC', 'red' => $res['odds_dc'][3] ?? 0, 'yellow' => $res['odds_dc'][2] ?? 0, 'green' => $res['odds_dc'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'TQ', 'red' => $res['odds_tq'][3] ?? 0, 'yellow' => $res['odds_tq'][2] ?? 0, 'green' => $res['odds_tq'][1] ?? 0]),
|
||||
['filter' => 'odds_tq', 'title' => 'TQ', 'red' => $res['odds_tq'][3] ?? 0, 'yellow' => $res['odds_tq'][2] ?? 0, 'green' => $res['odds_tq'][1] ?? 0]),
|
||||
];
|
||||
case 2:
|
||||
return [
|
||||
Stat::make('1X2', '1X2')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => '1X2', 'red' => $res['odds_3ways'][3] ?? 0, 'yellow' => $res['odds_3ways'][2] ?? 0, 'green' => $res['odds_3ways'][1] ?? 0]),
|
||||
['filter' => 'odds_3ways', 'title' => '1X2', 'red' => $res['odds_3ways'][3] ?? 0, 'yellow' => $res['odds_3ways'][2] ?? 0, 'green' => $res['odds_3ways'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'ML', 'red' => $res['odds_2ways'][3] ?? 0, 'yellow' => $res['odds_2ways'][2] ?? 0, 'green' => $res['odds_2ways'][1] ?? 0]),
|
||||
['filter' => 'odds_2ways', 'title' => 'ML', 'red' => $res['odds_2ways'][3] ?? 0, 'yellow' => $res['odds_2ways'][2] ?? 0, 'green' => $res['odds_2ways'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'HC', 'red' => $res['odds_points'][3] ?? 0, 'yellow' => $res['odds_points'][2] ?? 0, 'green' => $res['odds_points'][1] ?? 0]),
|
||||
['filter' => 'odds_points', 'title' => 'HC', 'red' => $res['odds_points'][3] ?? 0, 'yellow' => $res['odds_points'][2] ?? 0, 'green' => $res['odds_points'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'HC Q1', 'red' => $res['odds_points_q1'][3] ?? 0, 'yellow' => $res['odds_points_q1'][2] ?? 0, 'green' => $res['odds_points_q1'][1] ?? 0]),
|
||||
['filter' => 'odds_points_q1', 'title' => 'HC Q1', 'red' => $res['odds_points_q1'][3] ?? 0, 'yellow' => $res['odds_points_q1'][2] ?? 0, 'green' => $res['odds_points_q1'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'Totals', 'red' => $res['odds_totals'][3] ?? 0, 'yellow' => $res['odds_totals'][2] ?? 0, 'green' => $res['odds_totals'][1] ?? 0]),
|
||||
['filter' => 'odds_totals', 'title' => 'Totals', 'red' => $res['odds_totals'][3] ?? 0, 'yellow' => $res['odds_totals'][2] ?? 0, 'green' => $res['odds_totals'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'Totals Q1', 'red' => $res['odds_totals_q1'][3] ?? 0, 'yellow' => $res['odds_totals_q1'][2] ?? 0, 'green' => $res['odds_totals_q1'][1] ?? 0]),
|
||||
['filter' => 'odds_totals_q1', 'title' => 'Totals Q1', 'red' => $res['odds_totals_q1'][3] ?? 0, 'yellow' => $res['odds_totals_q1'][2] ?? 0, 'green' => $res['odds_totals_q1'][1] ?? 0]),
|
||||
];
|
||||
case 3:
|
||||
return [
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'ML', 'red' => $res['odds_2ways'][3] ?? 0, 'yellow' => $res['odds_2ways'][2] ?? 0, 'green' => $res['odds_2ways'][1] ?? 0]),
|
||||
['filter' => 'odds_2ways', 'title' => 'ML', 'red' => $res['odds_2ways'][3] ?? 0, 'yellow' => $res['odds_2ways'][2] ?? 0, 'green' => $res['odds_2ways'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'HC', 'red' => $res['odds_points'][3] ?? 0, 'yellow' => $res['odds_points'][2] ?? 0, 'green' => $res['odds_points'][1] ?? 0]),
|
||||
['filter' => 'odds_points', 'title' => 'HC', 'red' => $res['odds_points'][3] ?? 0, 'yellow' => $res['odds_points'][2] ?? 0, 'green' => $res['odds_points'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'HC Q1', 'red' => $res['odds_points_q1'][3] ?? 0, 'yellow' => $res['odds_points_q1'][2] ?? 0, 'green' => $res['odds_points_q1'][1] ?? 0]),
|
||||
['filter' => 'odds_points_q1', 'title' => 'HC Q1', 'red' => $res['odds_points_q1'][3] ?? 0, 'yellow' => $res['odds_points_q1'][2] ?? 0, 'green' => $res['odds_points_q1'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'HC HT', 'red' => $res['odds_points_ht'][3] ?? 0, 'yellow' => $res['odds_points_ht'][2] ?? 0, 'green' => $res['odds_points_ht'][1] ?? 0]),
|
||||
['filter' => 'odds_points_ht', 'title' => 'HC HT', 'red' => $res['odds_points_ht'][3] ?? 0, 'yellow' => $res['odds_points_ht'][2] ?? 0, 'green' => $res['odds_points_ht'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'Totals', 'red' => $res['odds_totals'][3] ?? 0, 'yellow' => $res['odds_totals'][2] ?? 0, 'green' => $res['odds_totals'][1] ?? 0]),
|
||||
['filter' => 'odds_totals', 'title' => 'Totals', 'red' => $res['odds_totals'][3] ?? 0, 'yellow' => $res['odds_totals'][2] ?? 0, 'green' => $res['odds_totals'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'Totals Q1', 'red' => $res['odds_totals_q1'][3] ?? 0, 'yellow' => $res['odds_totals_q1'][2] ?? 0, 'green' => $res['odds_totals_q1'][1] ?? 0]),
|
||||
['filter' => 'odds_totals_q1', 'title' => 'Totals Q1', 'red' => $res['odds_totals_q1'][3] ?? 0, 'yellow' => $res['odds_totals_q1'][2] ?? 0, 'green' => $res['odds_totals_q1'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'Totals HT', 'red' => $res['odds_totals_ht'][3] ?? 0, 'yellow' => $res['odds_totals_ht'][2] ?? 0, 'green' => $res['odds_totals_ht'][1] ?? 0]),
|
||||
['filter' => 'odds_totals_ht', 'title' => 'Totals HT', 'red' => $res['odds_totals_ht'][3] ?? 0, 'yellow' => $res['odds_totals_ht'][2] ?? 0, 'green' => $res['odds_totals_ht'][1] ?? 0]),
|
||||
];
|
||||
case 5:
|
||||
return [
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'ML', 'red' => $res['odds_2ways'][3] ?? 0, 'yellow' => $res['odds_2ways'][2] ?? 0, 'green' => $res['odds_2ways'][1] ?? 0]),
|
||||
['filter' => 'odds_2ways', 'title' => 'ML', 'red' => $res['odds_2ways'][3] ?? 0, 'yellow' => $res['odds_2ways'][2] ?? 0, 'green' => $res['odds_2ways'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'MLS1', 'red' => $res['odds_2ways_s1'][3] ?? 0, 'yellow' => $res['odds_2ways_s1'][2] ?? 0, 'green' => $res['odds_2ways_s1'][1] ?? 0]),
|
||||
['filter' => 'odds_2ways_s1', 'title' => 'MLS1', 'red' => $res['odds_2ways_s1'][3] ?? 0, 'yellow' => $res['odds_2ways_s1'][2] ?? 0, 'green' => $res['odds_2ways_s1'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'HC', 'red' => $res['odds_points'][3] ?? 0, 'yellow' => $res['odds_points'][2] ?? 0, 'green' => $res['odds_points'][1] ?? 0]),
|
||||
['filter' => 'odds_points', 'title' => 'HC', 'red' => $res['odds_points'][3] ?? 0, 'yellow' => $res['odds_points'][2] ?? 0, 'green' => $res['odds_points'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'Totals', 'red' => $res['odds_totals'][3] ?? 0, 'yellow' => $res['odds_totals'][2] ?? 0, 'green' => $res['odds_totals'][1] ?? 0]),
|
||||
['filter' => 'odds_totals', 'title' => 'Totals', 'red' => $res['odds_totals'][3] ?? 0, 'yellow' => $res['odds_totals'][2] ?? 0, 'green' => $res['odds_totals'][1] ?? 0]),
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function filterAlarm($table, $alarm)
|
||||
{
|
||||
switch ($alarm) {
|
||||
case 1:
|
||||
$this->dispatch('filterUpdateGreen', $table);
|
||||
break;
|
||||
case 2:
|
||||
$this->dispatch('filterUpdateYellow', $table);
|
||||
break;
|
||||
case 3:
|
||||
$this->dispatch('filterUpdateRed', $table);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function getColumns(): int|array
|
||||
{
|
||||
return [
|
||||
|
||||
Reference in new issue
Block a user