wip copy data from statistiko
This commit is contained in:
1 parent
750b8bc571
commit
31dd27dd73
2 files changed
+103
-2
No files matched your search
@@ -6,6 +6,7 @@ use App\Actions\LoadSofaScoreCategory;
|
||||
use App\Actions\LoadStatisticFixturesLeaguesOptions;
|
||||
use App\Actions\LoadStatisticFixturesMatchOptions;
|
||||
use App\Filament\Pages\Selections\LoadPlayerSelection;
|
||||
use App\Filament\Widgets\Boxes\LoadEventsBoxes;
|
||||
use App\Models\SofaScoreCategory;
|
||||
use App\Models\SofaScoreRosa;
|
||||
use App\Models\StatisticFixtures;
|
||||
@@ -17,6 +18,7 @@ use Filament\Forms\Components\Hidden;
|
||||
use Filament\Forms\Components\Radio;
|
||||
use Filament\Forms\Components\Select;
|
||||
use Filament\Forms\Components\Slider;
|
||||
use Filament\Notifications\Notification;
|
||||
use Filament\Pages\Dashboard as BaseDashboard;
|
||||
use Filament\Pages\Dashboard\Concerns\HasFiltersForm;
|
||||
use Filament\Schemas\Components\Actions;
|
||||
@@ -490,12 +492,109 @@ class Statistic extends BaseDashboard
|
||||
->tooltip('Copy data for pasting into spreadsheet')
|
||||
->color('success')
|
||||
->icon('phosphor-copy')
|
||||
->action('resetFilters'),
|
||||
])
|
||||
->action(function ($livewire) {
|
||||
// 1. Call your custom Livewire function to generate the data
|
||||
$dataToCopy = $livewire->generateDynamicPayload();
|
||||
|
||||
$this->js("navigator.clipboard.writeText(`$dataToCopy`)");
|
||||
|
||||
// 3. Send a helpful Filament Toast notification to the UI
|
||||
Notification::make()
|
||||
->title('Copied to clipboard!')
|
||||
->success()
|
||||
->send();
|
||||
}),
|
||||
]),
|
||||
]),
|
||||
]);
|
||||
}
|
||||
|
||||
public function generateDynamicPayload(): string
|
||||
{
|
||||
$data = LoadEventsBoxes::load($this->filters, false);
|
||||
|
||||
$header = ['Team', 'Event', 'Odd 1', 'Odd X', 'Odd 2', 'Category', 'EXP H', 'EXP A', 'AGV+', 'AGV-', 'AGV Team Season H', 'AGV Team Season A', 'AGV League H', 'AGV League A'];
|
||||
$copystring = implode(';', $header)."\n";
|
||||
$row = [];
|
||||
$row[] = $data['active_team'];
|
||||
$row[] = $data['count_events'];
|
||||
$row[] = $data['win_odd'];
|
||||
$row[] = $data['draw_odd'];
|
||||
$row[] = $data['lost_odd'];
|
||||
$row[] = 'Goals';
|
||||
$row[] = $data['gls']['home'];
|
||||
$row[] = $data['gls']['away'];
|
||||
$row[] = $data['gls_team']['home'];
|
||||
$row[] = $data['gls_team']['away'];
|
||||
$row[] = $data['gls_team_season']['home'];
|
||||
$row[] = $data['gls_team_season']['away'];
|
||||
$row[] = $data['gls_liga_season']['home'];
|
||||
$row[] = $data['gls_liga_season']['away'];
|
||||
$copystring .= implode(';', $row)."\n";
|
||||
$row = [];
|
||||
$row = array_fill(0, 5, '');
|
||||
$row[] = 'Fouls';
|
||||
$row[] = $data['fls']['home'];
|
||||
$row[] = $data['fls']['away'];
|
||||
$row[] = $data['fls_team']['home'];
|
||||
$row[] = $data['fls_team']['away'];
|
||||
$row[] = $data['fls_team_season']['home'];
|
||||
$row[] = $data['fls_team_season']['away'];
|
||||
$row[] = $data['fls_liga_season']['home'];
|
||||
$row[] = $data['fls_liga_season']['away'];
|
||||
$copystring .= implode(';', $row)."\n";
|
||||
$row = [];
|
||||
$row = array_fill(0, 5, '');
|
||||
$row[] = 'Offside';
|
||||
$row[] = $data['ofs']['home'];
|
||||
$row[] = $data['ofs']['away'];
|
||||
$row[] = $data['ofs_team']['home'];
|
||||
$row[] = $data['ofs_team']['away'];
|
||||
$row[] = $data['ofs_team_season']['home'];
|
||||
$row[] = $data['ofs_team_season']['away'];
|
||||
$row[] = $data['ofs_liga_season']['home'];
|
||||
$row[] = $data['ofs_liga_season']['away'];
|
||||
$copystring .= implode(';', $row)."\n";
|
||||
$row = [];
|
||||
$row = array_fill(0, 5, '');
|
||||
$row[] = 'Cards';
|
||||
$row[] = $data['crd']['home'];
|
||||
$row[] = $data['crd']['away'];
|
||||
$row[] = $data['crd_team']['home'];
|
||||
$row[] = $data['crd_team']['away'];
|
||||
$row[] = $data['crd_team_season']['home'];
|
||||
$row[] = $data['crd_team_season']['away'];
|
||||
$row[] = $data['crd_liga_season']['home'];
|
||||
$row[] = $data['crd_liga_season']['away'];
|
||||
$copystring .= implode(';', $row)."\n";
|
||||
$row = [];
|
||||
$row = array_fill(0, 5, '');
|
||||
$row[] = 'Shots on traget';
|
||||
$row[] = $data['snt']['home'];
|
||||
$row[] = $data['snt']['away'];
|
||||
$row[] = $data['snt_team']['home'];
|
||||
$row[] = $data['snt_team']['away'];
|
||||
$row[] = $data['snt_team_season']['home'];
|
||||
$row[] = $data['snt_team_season']['away'];
|
||||
$row[] = $data['snt_liga_season']['home'];
|
||||
$row[] = $data['snt_liga_season']['away'];
|
||||
$copystring .= implode(';', $row)."\n";
|
||||
$row = [];
|
||||
$row = array_fill(0, 5, '');
|
||||
$row[] = 'Total Shots';
|
||||
$row[] = $data['tsh']['home'];
|
||||
$row[] = $data['tsh']['away'];
|
||||
$row[] = $data['tsh_team']['home'];
|
||||
$row[] = $data['tsh_team']['away'];
|
||||
$row[] = $data['tsh_team_season']['home'];
|
||||
$row[] = $data['tsh_team_season']['away'];
|
||||
$row[] = $data['tsh_liga_season']['home'];
|
||||
$row[] = $data['tsh_liga_season']['away'];
|
||||
$copystring .= implode(';', $row)."\n";
|
||||
|
||||
return $copystring;
|
||||
}
|
||||
|
||||
protected function tooltip_similar_past_matches(): HtmlString
|
||||
{
|
||||
$str = '<div class="m-3 grid grid-cols-4 gap-2 max-w-lg">';
|
||||
|
||||
@@ -33,6 +33,8 @@ class BoxesBettypeAll extends StatsOverviewWidget
|
||||
{
|
||||
$data = LoadEventsBoxes::load($this->filters, false);
|
||||
|
||||
// dd($data);
|
||||
|
||||
$similar_past_matches = $this->filters['similar_past_matches'];
|
||||
$team_position = $this->filters['team_position'];
|
||||
|
||||
|
||||
Reference in new issue
Block a user