Fix dynamic zoom loading and tooltips
- Fix API date parsing for d.m H:i format - Update labels variable after loading new data for tooltips - Ensure tooltips work correctly after zoom reload
This commit is contained in:
parent
36ace1e9d2
commit
9b7e5afd4f
|
|
@ -29,8 +29,19 @@ class MetricsApiController extends Model
|
|||
|
||||
if ($startParam && $endParam) {
|
||||
// Используем переданные даты
|
||||
$startDate = new DateTime($startParam);
|
||||
$endDate = new DateTime($endParam);
|
||||
// Парсим формат d.m H:i (20.04 13:59)
|
||||
$startDateStr = $startParam;
|
||||
$endDateStr = $endParam;
|
||||
|
||||
if (preg_match('/^\d{1,2}\.\d{2} \d{1,2}:\d{2}$/', $startParam)) {
|
||||
$startDateStr = date('Y') . '-' . preg_replace('/^(\d{1,2})\.(\d{2}) (\d{1,2}):(\d{2})$/', '$2-$1 $3:$4', $startParam);
|
||||
}
|
||||
if (preg_match('/^\d{1,2}\.\d{2} \d{1,2}:\d{2}$/', $endParam)) {
|
||||
$endDateStr = date('Y') . '-' . preg_replace('/^(\d{1,2})\.(\d{2}) (\d{1,2}):(\d{2})$/', '$2-$1 $3:$4', $endParam);
|
||||
}
|
||||
|
||||
$startDate = new DateTime($startDateStr);
|
||||
$endDate = new DateTime($endDateStr);
|
||||
} else {
|
||||
// Вычисляем по period
|
||||
switch ($period) {
|
||||
|
|
|
|||
|
|
@ -867,6 +867,9 @@ function loadDetailedMetrics{{ metricName|replace({'-': '_', '.': '_'}) }}(start
|
|||
chart.data.labels = data.labels;
|
||||
chart.data.datasets[0].data = data.datasets[metricName];
|
||||
chart.update();
|
||||
|
||||
// Обновляем переменную labels для тултипов
|
||||
window['labels{{ metricName }}'] = data.labels;
|
||||
}
|
||||
})
|
||||
.catch(function() {
|
||||
|
|
|
|||
Loading…
Reference in New Issue