wip tooltip with events
This commit is contained in:
1 parent
06dbeb1ed8
commit
ec9e380d33
4 files changed
+73
-36
No files matched your search
@@ -5,6 +5,7 @@ namespace App\Filament\Widgets;
|
|||||||
use App\Filament\Widgets\Data\HelperMoveingAverage;
|
use App\Filament\Widgets\Data\HelperMoveingAverage;
|
||||||
use App\Filament\Widgets\Data\HelperStatisticType;
|
use App\Filament\Widgets\Data\HelperStatisticType;
|
||||||
use App\Filament\Widgets\Data\LoadEvents;
|
use App\Filament\Widgets\Data\LoadEvents;
|
||||||
|
use Filament\Support\RawJs;
|
||||||
use Filament\Widgets\ChartWidget;
|
use Filament\Widgets\ChartWidget;
|
||||||
use Filament\Widgets\Concerns\InteractsWithPageFilters;
|
use Filament\Widgets\Concerns\InteractsWithPageFilters;
|
||||||
|
|
||||||
@@ -14,22 +15,6 @@ class ChartMovingAverageEvent extends ChartWidget
|
|||||||
|
|
||||||
protected ?string $pollingInterval = null;
|
protected ?string $pollingInterval = null;
|
||||||
|
|
||||||
protected ?array $options = [
|
|
||||||
'plugins' => [
|
|
||||||
'legend' => [
|
|
||||||
'display' => true,
|
|
||||||
],
|
|
||||||
],
|
|
||||||
'interaction' => [
|
|
||||||
'intersect' => false,
|
|
||||||
],
|
|
||||||
'scales' => [
|
|
||||||
'y' => [
|
|
||||||
'beginAtZero' => true,
|
|
||||||
],
|
|
||||||
],
|
|
||||||
];
|
|
||||||
|
|
||||||
protected function getData(): array
|
protected function getData(): array
|
||||||
{
|
{
|
||||||
$this->heading = 'Events '.HelperStatisticType::get($this->filters);
|
$this->heading = 'Events '.HelperStatisticType::get($this->filters);
|
||||||
@@ -49,4 +34,29 @@ class ChartMovingAverageEvent extends ChartWidget
|
|||||||
{
|
{
|
||||||
return 'line';
|
return 'line';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function getOptions(): RawJs
|
||||||
|
{
|
||||||
|
return RawJs::make(<<<'JS'
|
||||||
|
{
|
||||||
|
interaction: {
|
||||||
|
intersect: false,
|
||||||
|
},
|
||||||
|
plugins: {
|
||||||
|
tooltip: {
|
||||||
|
callbacks: {
|
||||||
|
label: (context) => {
|
||||||
|
return [context.parsed.y, context.dataset.events[context.dataIndex]];
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
scales: {
|
||||||
|
y: {
|
||||||
|
beginAtZero:true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
JS);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -4,6 +4,7 @@ namespace App\Filament\Widgets;
|
|||||||
|
|
||||||
use App\Filament\Widgets\Data\HelperStatisticType;
|
use App\Filament\Widgets\Data\HelperStatisticType;
|
||||||
use App\Filament\Widgets\Data\LoadEvents;
|
use App\Filament\Widgets\Data\LoadEvents;
|
||||||
|
use Filament\Support\RawJs;
|
||||||
use Filament\Widgets\ChartWidget;
|
use Filament\Widgets\ChartWidget;
|
||||||
use Filament\Widgets\Concerns\InteractsWithPageFilters;
|
use Filament\Widgets\Concerns\InteractsWithPageFilters;
|
||||||
|
|
||||||
@@ -13,22 +14,6 @@ class ChartPunctualEvent extends ChartWidget
|
|||||||
|
|
||||||
protected ?string $pollingInterval = null;
|
protected ?string $pollingInterval = null;
|
||||||
|
|
||||||
protected ?array $options = [
|
|
||||||
'plugins' => [
|
|
||||||
'legend' => [
|
|
||||||
'display' => true,
|
|
||||||
],
|
|
||||||
],
|
|
||||||
'interaction' => [
|
|
||||||
'intersect' => false,
|
|
||||||
],
|
|
||||||
'scales' => [
|
|
||||||
'y' => [
|
|
||||||
'beginAtZero' => true,
|
|
||||||
],
|
|
||||||
],
|
|
||||||
];
|
|
||||||
|
|
||||||
protected function getData(): array
|
protected function getData(): array
|
||||||
{
|
{
|
||||||
$this->heading = 'Events '.HelperStatisticType::get($this->filters);
|
$this->heading = 'Events '.HelperStatisticType::get($this->filters);
|
||||||
@@ -46,4 +31,29 @@ class ChartPunctualEvent extends ChartWidget
|
|||||||
{
|
{
|
||||||
return 'line';
|
return 'line';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function getOptions(): RawJs
|
||||||
|
{
|
||||||
|
return RawJs::make(<<<'JS'
|
||||||
|
{
|
||||||
|
interaction: {
|
||||||
|
intersect: false,
|
||||||
|
},
|
||||||
|
plugins: {
|
||||||
|
tooltip: {
|
||||||
|
callbacks: {
|
||||||
|
label: (context) => {
|
||||||
|
return [context.parsed.y, context.dataset.events[context.dataIndex]];
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
scales: {
|
||||||
|
y: {
|
||||||
|
beginAtZero:true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
JS);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -24,6 +24,11 @@ class ChartPunctualPlayer extends ChartWidget
|
|||||||
'interaction' => [
|
'interaction' => [
|
||||||
'intersect' => false,
|
'intersect' => false,
|
||||||
],
|
],
|
||||||
|
'callbacks' => [
|
||||||
|
'label' => 'function(context) {
|
||||||
|
return " Count: " + context.raw;
|
||||||
|
}',
|
||||||
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
public function getDescription(): ?string
|
public function getDescription(): ?string
|
||||||
|
|||||||
@@ -76,7 +76,9 @@ class LoadEvents
|
|||||||
/**
|
/**
|
||||||
* STATTISTIC DATA
|
* STATTISTIC DATA
|
||||||
*/
|
*/
|
||||||
$res = StatistikoEvent::where('league_id', $league_id)
|
$res = StatistikoEvent::with('home')
|
||||||
|
->with('away')
|
||||||
|
->where('league_id', $league_id)
|
||||||
->where(function ($query) use ($team_id, $team_position) {
|
->where(function ($query) use ($team_id, $team_position) {
|
||||||
switch ($team_position) {
|
switch ($team_position) {
|
||||||
case 'home':
|
case 'home':
|
||||||
@@ -104,9 +106,17 @@ class LoadEvents
|
|||||||
$dataset_home = [];
|
$dataset_home = [];
|
||||||
$dataset_away = [];
|
$dataset_away = [];
|
||||||
$labels = [];
|
$labels = [];
|
||||||
|
$events = [];
|
||||||
$labels_since = [];
|
$labels_since = [];
|
||||||
$results = ['w' => 0, 'd' => 0, 'l' => 0];
|
$results = ['w' => 0, 'd' => 0, 'l' => 0];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IF WITH PLAYER
|
||||||
|
*/
|
||||||
|
// $res = StatisticFixtures::with('home')->with('away')->where('id', (int) $match_id)->first();
|
||||||
|
// $event = $res->home->name.' vs '.$res->away->name;
|
||||||
|
// dd($event);
|
||||||
|
|
||||||
foreach ($res as $value) {
|
foreach ($res as $value) {
|
||||||
|
|
||||||
$labels[] = $value['starttime']->format('d.M.y');
|
$labels[] = $value['starttime']->format('d.M.y');
|
||||||
@@ -286,6 +296,7 @@ class LoadEvents
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (isset($val_home) && isset($val_away)) {
|
if (isset($val_home) && isset($val_away)) {
|
||||||
|
$events[] = $value->home->name.' vs '.$value->away->name;
|
||||||
$dataset_home[] = $val_home;
|
$dataset_home[] = $val_home;
|
||||||
$dataset_away[] = $val_away;
|
$dataset_away[] = $val_away;
|
||||||
}
|
}
|
||||||
@@ -294,15 +305,16 @@ class LoadEvents
|
|||||||
$data = [
|
$data = [
|
||||||
'datasets' => [
|
'datasets' => [
|
||||||
[
|
[
|
||||||
'label' => 'Home',
|
'label' => 'In Favor',
|
||||||
|
'events' => $events,
|
||||||
'data' => $dataset_home,
|
'data' => $dataset_home,
|
||||||
'fill' => false,
|
'fill' => false,
|
||||||
'tension' => 0.5,
|
'tension' => 0.5,
|
||||||
'borderColor' => '#36A2EB',
|
'borderColor' => '#36A2EB',
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
// 'label' => 'Away '.HelperStatisticType::get($filter),
|
'label' => 'Against',
|
||||||
'label' => 'Away',
|
'events' => $events,
|
||||||
'data' => $dataset_away,
|
'data' => $dataset_away,
|
||||||
'fill' => false,
|
'fill' => false,
|
||||||
'tension' => 0.5,
|
'tension' => 0.5,
|
||||||
|
|||||||
Reference in new issue
Block a user