Skip to content

Commit

Permalink
Fixed issue with tooltip options not taking effect on certain series …
Browse files Browse the repository at this point in the history
…types where the same options were defined in series specific defaults. Closes #907.
  • Loading branch information
TorsteinHonsi committed Nov 15, 2013
1 parent 89f78d7 commit e13f646
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 9 deletions.
16 changes: 13 additions & 3 deletions js/highcharts.src.js
Expand Up @@ -10798,6 +10798,7 @@ Chart.prototype = {
userOptions.series = null;
options = merge(defaultOptions, userOptions); // do the merge
options.series = userOptions.series = seriesOptions; // set back the series data
this.userOptions = userOptions;

var optionsChart = options.chart;

Expand Down Expand Up @@ -13223,6 +13224,8 @@ Series.prototype = {
var chart = this.chart,
chartOptions = chart.options,
plotOptions = chartOptions.plotOptions,
userOptions = chart.userOptions || {},
userPlotOptions = userOptions.plotOptions || {},
typeOptions = plotOptions[this.type],
options;

Expand All @@ -13234,10 +13237,17 @@ Series.prototype = {
itemOptions
);

// the tooltip options are merged between global and series specific options
this.tooltipOptions = merge(chartOptions.tooltip, options.tooltip);
// The tooltip options are merged between global and series specific options
this.tooltipOptions = merge(
defaultOptions.tooltip,
defaultOptions.plotOptions[this.type].tooltip,
userOptions.tooltip,
userPlotOptions.series && userPlotOptions.series.tooltip,
userPlotOptions[this.type] && userPlotOptions[this.type].tooltip,
itemOptions.tooltip
);

// Delte marker object if not allowed (#1125)
// Delete marker object if not allowed (#1125)
if (typeOptions.marker === null) {
delete options.marker;
}
Expand Down
16 changes: 13 additions & 3 deletions js/highstock.src.js
Expand Up @@ -10498,6 +10498,7 @@ Chart.prototype = {
userOptions.series = null;
options = merge(defaultOptions, userOptions); // do the merge
options.series = userOptions.series = seriesOptions; // set back the series data
this.userOptions = userOptions;

var optionsChart = options.chart;

Expand Down Expand Up @@ -12923,6 +12924,8 @@ Series.prototype = {
var chart = this.chart,
chartOptions = chart.options,
plotOptions = chartOptions.plotOptions,
userOptions = chart.userOptions || {},
userPlotOptions = userOptions.plotOptions || {},
typeOptions = plotOptions[this.type],
options;

Expand All @@ -12934,10 +12937,17 @@ Series.prototype = {
itemOptions
);

// the tooltip options are merged between global and series specific options
this.tooltipOptions = merge(chartOptions.tooltip, options.tooltip);
// The tooltip options are merged between global and series specific options
this.tooltipOptions = merge(
defaultOptions.tooltip,
defaultOptions.plotOptions[this.type].tooltip,
userOptions.tooltip,
userPlotOptions.series && userPlotOptions.series.tooltip,
userPlotOptions[this.type] && userPlotOptions[this.type].tooltip,
itemOptions.tooltip
);

// Delte marker object if not allowed (#1125)
// Delete marker object if not allowed (#1125)
if (typeOptions.marker === null) {
delete options.marker;
}
Expand Down
1 change: 1 addition & 0 deletions js/parts/Chart.js
Expand Up @@ -21,6 +21,7 @@ Chart.prototype = {
userOptions.series = null;
options = merge(defaultOptions, userOptions); // do the merge
options.series = userOptions.series = seriesOptions; // set back the series data
this.userOptions = userOptions;

var optionsChart = options.chart;

Expand Down
15 changes: 12 additions & 3 deletions js/parts/Series.js
Expand Up @@ -768,6 +768,8 @@ Series.prototype = {
var chart = this.chart,
chartOptions = chart.options,
plotOptions = chartOptions.plotOptions,
userOptions = chart.userOptions || {},
userPlotOptions = userOptions.plotOptions || {},
typeOptions = plotOptions[this.type],
options;

Expand All @@ -779,10 +781,17 @@ Series.prototype = {
itemOptions
);

// the tooltip options are merged between global and series specific options
this.tooltipOptions = merge(chartOptions.tooltip, options.tooltip);
// The tooltip options are merged between global and series specific options
this.tooltipOptions = merge(
defaultOptions.tooltip,
defaultOptions.plotOptions[this.type].tooltip,
userOptions.tooltip,
userPlotOptions.series && userPlotOptions.series.tooltip,
userPlotOptions[this.type] && userPlotOptions[this.type].tooltip,
itemOptions.tooltip
);

// Delte marker object if not allowed (#1125)
// Delete marker object if not allowed (#1125)
if (typeOptions.marker === null) {
delete options.marker;
}
Expand Down

0 comments on commit e13f646

Please sign in to comment.