wip fix
This commit is contained in:
1 parent
9bcd4432c6
commit
6f92f9e1d5
1209 files changed
+220940
No files matched your search
@@ -0,0 +1,122 @@
|
||||
<?php
|
||||
|
||||
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 = '15s';
|
||||
|
||||
public array $filters = [];
|
||||
|
||||
protected function getStats(): array
|
||||
{
|
||||
// if (auth()->user()->partner_show) {
|
||||
// return [];
|
||||
// }
|
||||
|
||||
$res = AlarmStatistic::load();
|
||||
|
||||
switch (auth()->user()->sport_id) {
|
||||
case 1:
|
||||
return [
|
||||
Stat::make('1X2', '1X2')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['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',
|
||||
['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',
|
||||
['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',
|
||||
['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',
|
||||
['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',
|
||||
['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',
|
||||
['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',
|
||||
['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',
|
||||
['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',
|
||||
['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',
|
||||
['filter' => 'odds_points', 'title' => 'PO', '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',
|
||||
['filter' => 'odds_points_q1', 'title' => 'PO 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',
|
||||
['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',
|
||||
['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',
|
||||
['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',
|
||||
['filter' => 'odds_points', 'title' => 'PO', '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',
|
||||
['filter' => 'odds_points_q1', 'title' => 'PO 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',
|
||||
['filter' => 'odds_points_ht', 'title' => 'PO 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',
|
||||
['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',
|
||||
['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',
|
||||
['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',
|
||||
['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',
|
||||
['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',
|
||||
['filter' => 'odds_points', 'title' => 'PO', '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',
|
||||
['filter' => 'odds_totals', 'title' => 'Totals', 'red' => $res['odds_totals'][3] ?? 0, 'yellow' => $res['odds_totals'][2] ?? 0, 'green' => $res['odds_totals'][1] ?? 0]),
|
||||
];
|
||||
}
|
||||
|
||||
return [];
|
||||
|
||||
}
|
||||
|
||||
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 [
|
||||
'md' => 6,
|
||||
'xl' => 8,
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user