Events ' . $this->type . ' '); } protected function getData(): array { $data = LoadEvents::load($this->filters, true); $this->type = ucfirst(HelperStatisticType::get($this->filters)); if (isset($data['description'])) { $this->description .= $data['description']; } return $data; } protected function getType(): string { return 'line'; } protected function getOptions(): RawJs { return RawJs::make(<<<'JS' { interaction: { intersect: false, }, plugins: { legend: { position: 'left', generateLabels: (chart) => { const datasets = chart.data.datasets; }, }, tooltip: { callbacks: { label: (context) => { if(context.dataset.label == 'Average League' || context.dataset.label == 'Average Team'){ return [context.dataset.label+' '+context.dataset.data[0]]; } else { if(context.dataset.playing_date[context.dataIndex]) return [' '+context.parsed.y, ' '+context.dataset.playing_date[context.dataIndex], ' '+context.dataset.events[context.dataIndex], ' '+context.dataset.results_per_event[context.dataIndex]]; else return [' '+context.parsed.y] } }, } }, }, scales: { x: { title: { display: true, text: 'Number of days to date' } }, y: { beginAtZero:true, ticks: { callback: function(value, index, ticks) { return value % 1 === 0 ? value : ''; } } }, }, } JS); } }