mirror of
https://github.com/chartjs/Chart.js.git
synced 2024-10-07 20:59:08 +02:00
Merge pull request #1929 from nnnick/fix/1917
Ensure that adding datasets to charts with time scales works
This commit is contained in:
commit
888379ec5c
@ -74,6 +74,7 @@
|
||||
}, ]
|
||||
},
|
||||
options: {
|
||||
showLines: true,
|
||||
responsive: true,
|
||||
scales: {
|
||||
xAxes: [{
|
||||
@ -144,10 +145,7 @@
|
||||
|
||||
$('#addData').click(function() {
|
||||
if (config.data.datasets.length > 0) {
|
||||
config.data.labels.push(
|
||||
myLine.scales['x-axis-0'].labelMoments[myLine.scales['x-axis-0'].labelMoments.length - 1].add(1, 'day')
|
||||
.format('MM/DD/YYYY')
|
||||
);
|
||||
config.data.labels.push(newDateString(config.data.labels.length));
|
||||
|
||||
for (var index = 0; index < config.data.datasets.length; ++index) {
|
||||
config.data.datasets[index].data.push(randomScalingFactor());
|
||||
|
@ -208,8 +208,10 @@
|
||||
Chart.layoutService.update(this, this.chart.width, this.chart.height);
|
||||
},
|
||||
|
||||
buildOrUpdateControllers: function buildOrUpdateControllers(resetNewControllers) {
|
||||
buildOrUpdateControllers: function buildOrUpdateControllers() {
|
||||
var types = [];
|
||||
var newControllers = [];
|
||||
|
||||
helpers.each(this.data.datasets, function(dataset, datasetIndex) {
|
||||
if (!dataset.type) {
|
||||
dataset.type = this.config.type;
|
||||
@ -222,10 +224,7 @@
|
||||
dataset.controller.updateIndex(datasetIndex);
|
||||
} else {
|
||||
dataset.controller = new Chart.controllers[type](this, datasetIndex);
|
||||
|
||||
if (resetNewControllers) {
|
||||
dataset.controller.reset();
|
||||
}
|
||||
newControllers.push(dataset.controller);
|
||||
}
|
||||
}, this);
|
||||
|
||||
@ -237,6 +236,8 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return newControllers;
|
||||
},
|
||||
|
||||
resetElements: function resetElements() {
|
||||
@ -250,10 +251,15 @@
|
||||
this.tooltip._data = this.data;
|
||||
|
||||
// Make sure dataset controllers are updated and new controllers are reset
|
||||
this.buildOrUpdateControllers(true);
|
||||
var newControllers = this.buildOrUpdateControllers();
|
||||
|
||||
Chart.layoutService.update(this, this.chart.width, this.chart.height);
|
||||
|
||||
// Can only reset the new controllers after the scales have been updated
|
||||
helpers.each(newControllers, function(controller) {
|
||||
controller.reset();
|
||||
});
|
||||
|
||||
// Make sure all dataset controllers have correct meta data counts
|
||||
helpers.each(this.data.datasets, function(dataset, datasetIndex) {
|
||||
dataset.controller.buildOrUpdateElements();
|
||||
|
Loading…
Reference in New Issue
Block a user