fix: Tooltip исчезает при уходе курсора с графика в любую сторону

- Добавлен обработчик mouseout вместе с mouseleave
- Теперь tooltip скрывается при уходе курсора влево/вправо/вверх/вниз
- Убрано不必要的 clearing tooltip._active и draw()
This commit is contained in:
mirivlad 2026-02-19 16:46:16 +00:00
parent 54e0a2e8c9
commit 6a8d69027b
1 changed files with 19 additions and 1 deletions

View File

@ -505,7 +505,7 @@ labels{{ metricName }}.push('{{ time_val|date(time_format) }}');
data{{ metricName }}.push({{ metric.value|raw }});
{% endfor %}
new Chart(ctx{{ metricName|replace({'-': '_', '.': '_'}) }}, {
const chart{{ metricName|replace({'-': '_', '.': '_'}) }} = new Chart(ctx{{ metricName|replace({'-': '_', '.': '_'}) }}, {
type: 'line',
data: {
labels: labels{{ metricName }},
@ -603,6 +603,24 @@ new Chart(ctx{{ metricName|replace({'-': '_', '.': '_'}) }}, {
}
}
});
// Скрывать tooltip при уходе курсора с canvas в любую сторону
var chartCanvas{{ metricName|replace({'-': '_', '.': '_'}) }} = chart{{ metricName|replace({'-': '_', '.': '_'}) }}.canvas;
chartCanvas{{ metricName|replace({'-': '_', '.': '_'}) }}.addEventListener('mouseout', function() {
var tooltipEl = document.getElementById('chartjs-tooltip-{{ server.id }}-{{ metricName }}');
if (tooltipEl) {
tooltipEl.style.opacity = 0;
}
});
chartCanvas{{ metricName|replace({'-': '_', '.': '_'}) }}.addEventListener('mouseleave', function() {
var tooltipEl = document.getElementById('chartjs-tooltip-{{ server.id }}-{{ metricName }}');
if (tooltipEl) {
tooltipEl.style.opacity = 0;
}
});
{% endif %}
{% endfor %}
</script>