This commit is contained in:
salam committed 2026-06-04 14:59:02 +02:00
1 parent bca5e9ec23
commit d954a9fa5c
19 files changed
+5718 -479

No files matched your search

+1 -1
View File
@@ -35,7 +35,7 @@ class ChartEvent extends ChartWidget
protected function getData(): array
{
$data = LoadEvents::load($this->filters);
$data = LoadEvents::load($this->filters, true);
$this->type = ucfirst(HelperStatisticType::get($this->filters));
+1 -3
View File
@@ -19,8 +19,6 @@ class ChartEventMoAv extends ChartWidget
protected ?string $pollingInterval = null;
protected bool $isCollapsible = false;
public function getHeading(): HtmlString
{
return new HtmlString('
@@ -36,7 +34,7 @@ class ChartEventMoAv extends ChartWidget
protected function getData(): array
{
$data = LoadEvents::load($this->filters);
$data = LoadEvents::load($this->filters, false);
$this->type = ucfirst(HelperStatisticType::get($this->filters));
+1 -1
View File
@@ -32,7 +32,7 @@ class ChartEventPerf extends ChartWidget
protected function getData(): array
{
return LoadPerformance::load($this->filters);
return LoadPerformance::load($this->filters, true);
}
protected function getType(): string
+1 -1
View File
@@ -33,7 +33,7 @@ class ChartEventPerfMoAv extends ChartWidget
protected function getData(): array
{
$data = LoadPerformance::load($this->filters);
$data = LoadPerformance::load($this->filters, false);
if ($data) {
+2 -2
View File
@@ -24,7 +24,7 @@ class ChartPlayer extends ChartWidget
{
return new HtmlString('
<span class="flex justify-between">
<span class="text-primary-600 font-bold flex flex-row gap-2">
<span class="text-primary-700 dark:text-primary-400 flex flex-row gap-2">
<svg viewBox="0 0 15 15" version="1.1" id="soccer" class="h-5 w-5"
xmlns="http://www.w3.org/2000/svg" fill="currentColor">
<g id="SVGRepo_bgCarrier" stroke-width="0"></g>
@@ -47,7 +47,7 @@ class ChartPlayer extends ChartWidget
protected function getData(): array
{
$data = LoadPlayer::load($this->filters);
$data = LoadPlayer::load($this->filters, true);
if ($data) {
$this->player = $data['player_name'] ?? '';
+2 -2
View File
@@ -41,14 +41,14 @@ class ChartPlayerMoAv extends ChartWidget
</svg>
'.$this->player.'
</span>
<span>'.$this->type.'</span>
<span>'.$this->type.' Moving Average</span>
</span>
');
}
protected function getData(): array
{
$data = LoadPlayer::load($this->filters);
$data = LoadPlayer::load($this->filters, false);
if ($data) {
$this->player = $data['player_name'] ?? '';
+2 -2
View File
@@ -46,12 +46,12 @@ class ChartPlayerPerf extends ChartWidget
protected function getData(): array
{
$data = LoadPlayerPerformance::load($this->filters);
$data = LoadPlayerPerformance::load($this->filters, true);
if ($data) {
$this->player = $data['player_name'] ?? '';
}
return LoadPlayerPerformance::load($this->filters);
return $data;
}
protected function getType(): string
+1 -1
View File
@@ -47,7 +47,7 @@ class ChartPlayerPerfMoAv extends ChartWidget
protected function getData(): array
{
$data = LoadPlayerPerformance::load($this->filters);
$data = LoadPlayerPerformance::load($this->filters, false);
if ($data) {
$this->player = $data['player_name'] ?? '';
+6 -4
View File
@@ -12,13 +12,13 @@ class LoadEvents
{
public static $last_query = [];
public static function load($filter)
public static function load(array $filter, bool $hasdots)
{
// dd($filter);
if (self::$last_query) {
return self::$last_query;
}
// if (self::$last_query) {
// return self::$last_query;
// }
$league_id = (int) $filter['league_id'] ?? 0;
@@ -372,6 +372,7 @@ class LoadEvents
'tension' => 0.5,
'borderColor' => '#fb2c36',
'backgroundColor' => '#fb2c36',
'pointStyle' => $hasdots,
'fill' => [
'target' => 1,
'above' => '#fb2c3680',
@@ -387,6 +388,7 @@ class LoadEvents
'tension' => 0.5,
'borderColor' => '#fdc700',
'backgroundColor' => '#fdc700',
'pointStyle' => $hasdots,
'fill' => false,
],
],
+50 -1
View File
@@ -13,7 +13,7 @@ class LoadPerformance
public static $events_data = [];
public static function load(array $filter)
public static function load(array $filter, bool $hasdots)
{
// dd($filter);
@@ -43,6 +43,7 @@ class LoadPerformance
if ($val->home_id == $home_id or $val->away_id == $home_id or $val->home_id == $away_id or $val->away_id == $away_id) {
$labels[] = round($val->starttime->diffInDays(Carbon::now()));
$label_formatted[$val->match_id] = $val->starttime->format('d. F Y H:i');
if ($val->home_id == $home_id or $val->away_id == $home_id) {
@@ -66,6 +67,8 @@ class LoadPerformance
$res = StatistikoPlayer::whereIn('match_id', $away_matches)->select('match_id', 'minutes_played', 'playerrating_value', 'player_position')->get();
$aways = self::filterMatches($res, $away_matches);
self::shortenEnding($labels, $homes, $aways);
$data = [
'datasets' => [
[
@@ -75,6 +78,7 @@ class LoadPerformance
'tension' => 0.5,
'borderColor' => '#fb2c36',
'backgroundColor' => '#fb2c36',
'pointStyle' => $hasdots,
],
[
'label' => 'Defence',
@@ -84,6 +88,7 @@ class LoadPerformance
'borderColor' => '#c10007',
'backgroundColor' => '#c10007',
'fill' => false,
'pointStyle' => $hasdots,
],
[
'label' => 'Attak',
@@ -93,6 +98,7 @@ class LoadPerformance
'borderColor' => '#c10007',
'backgroundColor' => '#c10007',
'fill' => false,
'pointStyle' => $hasdots,
],
[
'label' => 'Midfield',
@@ -102,6 +108,7 @@ class LoadPerformance
'borderColor' => '#c10007',
'backgroundColor' => '#c10007',
'fill' => false,
'pointStyle' => $hasdots,
],
[
'label' => $match->away->name,
@@ -111,6 +118,7 @@ class LoadPerformance
'borderColor' => '#fdc700',
'backgroundColor' => '#fdc700',
'fill' => false,
'pointStyle' => $hasdots,
],
[
'label' => 'Defence',
@@ -120,6 +128,7 @@ class LoadPerformance
'borderColor' => '#d08700',
'backgroundColor' => '#d08700',
'fill' => false,
'pointStyle' => $hasdots,
],
[
'label' => 'Attak',
@@ -129,6 +138,7 @@ class LoadPerformance
'borderColor' => '#d08700',
'backgroundColor' => '#d08700',
'fill' => false,
'pointStyle' => $hasdots,
],
[
'label' => 'Midfield',
@@ -138,6 +148,7 @@ class LoadPerformance
'borderColor' => '#d08700',
'backgroundColor' => '#d08700',
'fill' => false,
'pointStyle' => $hasdots,
],
],
'labels' => $labels,
@@ -149,6 +160,7 @@ class LoadPerformance
public static function filterMatches($res, $matches)
{
$result = [];
foreach ($res as $value) {
@@ -207,6 +219,43 @@ class LoadPerformance
}
}
// dd($return);
// while (array_last($return['all']) == null) {
// }
return $return;
}
public static function shortenEnding(array &$labels, array &$homes, array &$aways)
{
$count_home = 0;
$count_away = 0;
for ($i = \count($homes['all']) - 1; $i > 0; $i--) {
if ($homes['all'][$i] == null) {
$count_home++;
} else {
break;
}
}
for ($i = \count($aways['all']) - 1; $i > 0; $i--) {
if ($aways['all'][$i] == null) {
$count_away++;
} else {
break;
}
}
$keeps = count($homes['all']) - min($count_home, $count_away) - 1;
$homes['all'] = array_slice($homes['all'], 0, $keeps);
$homes['def'] = array_slice($homes['def'], 0, $keeps);
$homes['att'] = array_slice($homes['att'], 0, $keeps);
$homes['mid'] = array_slice($homes['mid'], 0, $keeps);
$aways['all'] = array_slice($aways['all'], 0, $keeps);
$aways['def'] = array_slice($aways['def'], 0, $keeps);
$aways['att'] = array_slice($aways['att'], 0, $keeps);
$aways['mid'] = array_slice($aways['mid'], 0, $keeps);
$labels = array_slice($labels, 0, $keeps);
}
}
+5 -4
View File
@@ -10,13 +10,13 @@ class LoadPlayer
{
public static $last_query = [];
public static function load($filter)
public static function load($filter, bool $hasdots)
{
// dd($filter);
if (self::$last_query) {
return self::$last_query;
}
// if (self::$last_query) {
// return self::$last_query;
// }
$league_id = (int) $filter['league_id'] ?? 0;
@@ -98,6 +98,7 @@ class LoadPlayer
'data' => $datasets,
'tension' => 0.5,
'borderColor' => '#36A2EB',
'pointStyle' => $hasdots,
],
],
'labels' => $labels,
@@ -10,11 +10,11 @@ class LoadPlayerPerformance
{
public static $last_query = [];
public static function load($filter)
public static function load($filter, bool $hasdots)
{
if (self::$last_query) {
return self::$last_query;
}
// if (self::$last_query) {
// return self::$last_query;
// }
$league_id = (int) $filter['league_id'] ?? 0;
@@ -77,6 +77,7 @@ class LoadPlayerPerformance
'data' => $dataset,
'tension' => 0.5,
'borderColor' => '#36A2EB',
'pointStyle' => $hasdots,
],
],
'labels' => $labels,
+4 -13
View File
@@ -25,7 +25,7 @@ class StatsMedianAverage extends StatsOverviewWidget
protected function getStats(): array
{
$data = LoadEvents::load($this->filters);
$data = LoadEvents::load($this->filters, false);
// dd($data);
@@ -92,9 +92,6 @@ class StatsMedianAverage extends StatsOverviewWidget
]),
];
}
// if (! $total_home || ! $total_away) {
// return [];
// }
sort($arr_home);
sort($arr_away);
@@ -118,15 +115,9 @@ class StatsMedianAverage extends StatsOverviewWidget
$median_away = $arr_away[$m];
}
if ($data['similar_past_matches'] == 'none') {
$win = $data['results']['w'] ? number_format(Round::odd($total_home / $data['results']['w']), 2) : 0;
$draw = $data['results']['d'] ? number_format(Round::odd($total_home / $data['results']['d']), 2) : 0;
$lost = $data['results']['l'] ? number_format(Round::odd($total_home / $data['results']['l']), 2) : 0;
} else {
$win = 0;
$draw = 0;
$lost = 0;
}
$win = $data['results']['w'] ? number_format(Round::odd($total_home / $data['results']['w']), 2) : 0;
$draw = $data['results']['d'] ? number_format(Round::odd($total_home / $data['results']['d']), 2) : 0;
$lost = $data['results']['l'] ? number_format(Round::odd($total_home / $data['results']['l']), 2) : 0;
return [
Stat::make('stat1', 'stat1')->view('filament.resources.events.widgets.statistic-regular', [