1
0
mirror of https://github.com/tabler/tabler.git synced 2025-12-21 17:34:25 +04:00
Files
tabler/shared/includes/ui/chart-heatmap.html
2025-05-12 22:56:32 +02:00

96 lines
2.3 KiB
HTML

{% removeemptylines %}
{% assign id = include.chart-id %}
{% assign class = include.class %}
{% assign height = include.height | default: data.height | default: 25 %}
{% assign class = include.class %}
<div id="chart-{{ id }}"{% if class %} class="{{ class }}"{% endif %}></div>
{% capture script -%}
{% assign colors = include.colors | default: 1 %}
{% removeemptylines %}
<script>
document.addEventListener("DOMContentLoaded", function () {
{% if environment == 'development' %}
window.tabler_chart = window.tabler_chart || {};
{% endif %}
window.ApexCharts && ({% if environment == 'development' %}window.tabler_chart["chart-{{ include.chart-id }}"] = {% endif %}new ApexCharts(document.getElementById('chart-{{ id }}'), {
chart: {
height: {{ height | times: 16 }},
type: "heatmap",
toolbar: {
show: false,
},
},
dataLabels: {
enabled: {% if include.labels %}true{% else %}false{% endif %}
},
{% if include.scale %}
plotOptions: {
heatmap: {
enableShades: {% unless include.no-shades %}true{% else %}false{% endunless %},
colorScale: {
ranges: [{
from: 0,
to: 20,
name: "Low",
color: "var(--tblr-green)"
}, {
from: 21,
to: 50,
name: "Medium",
color: "var(--tblr-blue)"
}, {
from: 51,
to: 75,
name: "High",
color: "var(--tblr-yellow)"
}, {
from: 76,
to: 100,
name: "Extreme",
color: "var(--tblr-red)"
}]
}
}
},
{% else %}
colors: [{% if include.color %}'{{ include.color }}'{% else %}{% for color in site.colors limit: colors %}"{{ color[1].prop }}", {% endfor %}{% endif %}],
{% endif %}
series: [
{% for i in site.months-short limit: 12 %}
{% assign month-i = forloop.index %}
{ name: "{{ i }}", data: [{% for j in (1..16) %}{x: '{{ j }}', y: {{ j | random_number: 0, 100 | plus: month-i | random_number: 0, 100 }}},{% endfor %}] },
{% endfor %}
],
xaxis: {
type: "category"
},
legend: {
{% if include.legend %}
show: true,
position: 'bottom',
offsetY: 8,
markers: {
width: 10,
height: 10,
radius: 100,
},
itemMargin: {
horizontal: 8,
},
{% else %}
show: false,
{% endif %}
},
})).render();
});
</script>
{% endremoveemptylines %}
{%- endcapture %}
{% capture_script %}
{{ script }}
{% endcapture_script %}
{% endremoveemptylines %}