spip_nursit/lib/chartjs/samples/tooltips/interactions.html

126 lines
2.4 KiB
HTML
Raw Normal View History

2023-06-01 15:30:12 +00:00
<!doctype html>
<html>
<head>
<title>Tooltip Interaction Modes</title>
<script src="../../Chart.bundle.js"></script>
<script src="../utils.js"></script>
<style>
canvas {
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
}
.chart-container {
width: 500px;
margin-left: 40px;
margin-right: 40px;
margin-bottom: 40px;
}
.container {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
}
</style>
</head>
<body>
<div class="container">
</div>
<script>
function createConfig(mode, intersect) {
return {
type: 'line',
data: {
labels: ["January", "February", "March", "April", "May", "June", "July"],
datasets: [{
label: "My First dataset",
borderColor: window.chartColors.red,
backgroundColor: window.chartColors.red,
data: [10, 30, 46, 2, 8, 50, 0],
fill: false,
}, {
label: "My Second dataset",
borderColor: window.chartColors.blue,
backgroundColor: window.chartColors.blue,
data: [7, 49, 46, 13, 25, 30, 22],
fill: false,
}]
},
options: {
responsive: true,
title:{
display: true,
text: 'Mode: ' + mode + ', intersect = ' + intersect
},
tooltips: {
mode: mode,
intersect: intersect,
},
hover: {
mode: mode,
intersect: intersect
},
}
};
}
window.onload = function() {
var container = document.querySelector('.container');
[{
mode: 'index',
intersect: true,
}, {
mode: 'index',
intersect: false,
}, {
mode: 'dataset',
intersect: true,
}, {
mode: 'dataset',
intersect: false,
}, {
mode: 'point',
intersect: true,
}, {
mode: 'point',
intersect: false,
}, {
mode: 'nearest',
intersect: true,
}, {
mode: 'nearest',
intersect: false,
}, {
mode: 'x',
intersect: true
}, {
mode: 'x',
intersect: false
}, {
mode: 'y',
intersect: true
}, {
mode: 'y',
intersect: false
}].forEach(function(details) {
var div = document.createElement('div');
div.classList.add('chart-container');
var canvas = document.createElement('canvas');
div.appendChild(canvas);
container.appendChild(div);
var ctx = canvas.getContext('2d');
var config = createConfig(details.mode, details.intersect);
new Chart(ctx, config);
})
};
</script>
</body>
</html>