-
Notifications
You must be signed in to change notification settings - Fork 11.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1542 from nnnick/v2.0-dev-tooltip-refactor
V2.0 dev tooltip refactor
- Loading branch information
Showing
21 changed files
with
1,012 additions
and
374 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,164 @@ | ||
<!doctype html> | ||
<html> | ||
|
||
<head> | ||
<title>Time Scale Point Data</title> | ||
<script src="../node_modules/moment/min/moment.min.js"></script> | ||
<script src="../Chart.js"></script> | ||
<script src="../node_modules/jquery/dist/jquery.min.js"></script> | ||
<style> | ||
canvas { | ||
-webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, .5); | ||
} | ||
</style> | ||
</head> | ||
|
||
<body> | ||
<div style="width:100%;"> | ||
<canvas id="canvas" style="width:100%;height:100%"></canvas> | ||
</div> | ||
<br> | ||
<br> | ||
<button id="randomizeData">Randomize Data</button> | ||
<button id="addData">Add Data</button> | ||
<button id="removeData">Remove Data</button> | ||
<div> | ||
<h3>Legend</h3> | ||
<div id="legendContainer"> | ||
</div> | ||
</div> | ||
<script> | ||
var randomScalingFactor = function() { | ||
return Math.round(Math.random() * 100 * (Math.random() > 0.5 ? -1 : 1)); | ||
}; | ||
var randomColorFactor = function() { | ||
return Math.round(Math.random() * 255); | ||
}; | ||
var randomColor = function(opacity) { | ||
return 'rgba(' + randomColorFactor() + ',' + randomColorFactor() + ',' + randomColorFactor() + ',' + (opacity || '.3') + ')'; | ||
}; | ||
var newDate = function(days) { | ||
var date = new Date(); | ||
return date.setDate(date.getDate() + days); | ||
}; | ||
var newTimestamp = function(days) { | ||
return Date.now() - days * 100000; | ||
}; | ||
|
||
var config = { | ||
type: 'line', | ||
data: { | ||
datasets: [{ | ||
label: "Dataset with point data", | ||
data: [{ | ||
x: "12/31/2014 06:00", | ||
y: randomScalingFactor() | ||
}, { | ||
x: "01/04/2015 13:00", | ||
y: randomScalingFactor() | ||
}, { | ||
x: "01/07/2015 01:15", | ||
y: randomScalingFactor() | ||
}, { | ||
x: "01/15/2015 01:15", | ||
y: randomScalingFactor() | ||
}], | ||
fill: false | ||
}] | ||
}, | ||
options: { | ||
responsive: true, | ||
scales: { | ||
xAxes: [{ | ||
type: "time", | ||
display: true, | ||
time: { | ||
format: 'MM/DD/YYYY HH:mm', | ||
// round: 'day' | ||
}, | ||
scaleLabel: { | ||
show: true, | ||
labelString: 'Date' | ||
} | ||
}, ], | ||
yAxes: [{ | ||
display: true, | ||
scaleLabel: { | ||
show: true, | ||
labelString: 'value' | ||
} | ||
}] | ||
}, | ||
elements: { | ||
line: { | ||
tension: 0.3 | ||
} | ||
}, | ||
} | ||
}; | ||
|
||
$.each(config.data.datasets, function(i, dataset) { | ||
dataset.borderColor = randomColor(0.4); | ||
dataset.backgroundColor = randomColor(0.5); | ||
dataset.pointBorderColor = randomColor(0.7); | ||
dataset.pointBackgroundColor = randomColor(0.5); | ||
dataset.pointBorderWidth = 1; | ||
}); | ||
|
||
console.log(config.data); | ||
|
||
window.onload = function() { | ||
var ctx = document.getElementById("canvas").getContext("2d"); | ||
window.myLine = new Chart(ctx, config); | ||
|
||
updateLegend(); | ||
}; | ||
|
||
function updateLegend() { | ||
$legendContainer = $('#legendContainer'); | ||
$legendContainer.empty(); | ||
$legendContainer.append(window.myLine.generateLegend()); | ||
} | ||
|
||
$('#randomizeData').click(function() { | ||
$.each(config.data.datasets, function(i, dataset) { | ||
dataset.data = dataset.data.map(function() { | ||
return randomScalingFactor(); | ||
}); | ||
}); | ||
|
||
window.myLine.update(); | ||
updateLegend(); | ||
}); | ||
|
||
$('#addData').click(function() { | ||
if (config.data.datasets.length > 0) { | ||
var newTime = myLine.scales['x-axis-0'].labelMoments[0][myLine.scales['x-axis-0'].labelMoments[0].length - 1] | ||
.clone() | ||
.add(1, 'day') | ||
.format('MM/DD/YYYY HH:mm'); | ||
|
||
for (var index = 0; index < config.data.datasets.length; ++index) { | ||
config.data.datasets[index].data.push({ | ||
x: newTime, | ||
y: randomScalingFactor() | ||
}); | ||
} | ||
|
||
window.myLine.update(); | ||
updateLegend(); | ||
} | ||
}); | ||
|
||
$('#removeData').click(function() { | ||
config.data.datasets.forEach(function(dataset, datasetIndex) { | ||
dataset.data.pop(); | ||
}); | ||
|
||
window.myLine.update(); | ||
updateLegend(); | ||
}); | ||
</script> | ||
</body> | ||
|
||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.