123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- <!doctype html>
- <html>
- <head>
- <title>Tooltip Interaction Modes</title>
- <script src="../../dist/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>
|