diff --git a/chartjs/chart-tests.ts b/chartjs/chart-tests.ts
index 4bd8820c6c..452ddbf623 100644
--- a/chartjs/chart-tests.ts
+++ b/chartjs/chart-tests.ts
@@ -325,7 +325,7 @@ var myDoughnutChart = new Chart(ctx).Doughnut(pieData, {
animateRotate: true,
animateScale: false,
legendTemplate: "
-legend\"><% for (var i=0; i- \"><%if(segments[i].label){%><%=segments[i].label%><%}%>
<%}%>
"
-});
+});
var myDoughnutChartLegend: string = myDoughnutChart.generateLegend();
var myDoughnutChartImage: string = myDoughnutChart.toBase64Image();
@@ -341,3 +341,32 @@ myDoughnutChart.resize();
myDoughnutChart.update();
myDoughnutChart.stop();
myDoughnutChart.destroy();
+
+// Test using charts with overrides of a subset of global options
+var partialOpts: ChartSettings = {
+ showTooltips: true,
+ tooltipEvents: ["mousemove", "touchstart", "touchmove"],
+ tooltipFillColor: "rgba(0,0,0,0.8)",
+ tooltipFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
+ tooltipFontSize: 14,
+ tooltipFontStyle: "normal",
+ tooltipFontColor: "#fff",
+ tooltipTitleFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
+ tooltipTitleFontSize: 14,
+ tooltipTitleFontStyle: "bold",
+ tooltipTitleFontColor: "#fff",
+ tooltipYPadding: 6,
+ tooltipXPadding: 6,
+ tooltipCaretSize: 8,
+ tooltipCornerRadius: 6,
+ tooltipXOffset: 10,
+ tooltipTemplate: "<%if (label){%><%=label%>: <%}%><%= value %>"
+};
+
+var my2ndLineChart = new Chart(ctx).Line(lineData, partialOpts);
+var my2ndBarChart = new Chart(ctx).Bar(barData, partialOpts);
+var my2ndRadarChart = new Chart(ctx).Radar(radarData, partialOpts);
+var my2ndPolarAreaChart = new Chart(ctx).PolarArea(polarAreaData, partialOpts);
+var my2ndPieChart = new Chart(ctx).Pie(pieData, partialOpts);
+var my2ndDoughnutChart = new Chart(ctx).Doughnut(pieData, partialOpts);
+
diff --git a/chartjs/chart.d.ts b/chartjs/chart.d.ts
index d337d144a6..62f393b8a1 100644
--- a/chartjs/chart.d.ts
+++ b/chartjs/chart.d.ts
@@ -33,49 +33,49 @@ interface CircularChartData {
}
interface ChartSettings {
- animation: boolean;
- animationSteps: number;
- animationEasing: string;
- showScale: boolean;
- scaleOverride: boolean;
- scaleSteps: number;
- scaleStepWidth: number;
- scaleStartValue: number;
- scaleLineColor: string;
- scaleLineWidth: number;
- scaleShowLabels: boolean;
- scaleLabel: string;
- scaleIntegersOnly: boolean;
- scaleBeginAtZero: boolean;
- scaleFontFamily: string;
- scaleFontSize: number;
- scaleFontStyle: string;
- scaleFontColor: string;
- responsive: boolean;
- maintainAspectRatio: boolean;
- showTooltips: boolean;
- tooltipEvents: string[];
- tooltipFillColor: string;
- tooltipFontFamily: string;
- tooltipFontSize: number;
- tooltipFontStyle: string;
- tooltipFontColor: string;
- tooltipTitleFontFamily: string;
- tooltipTitleFontSize: number;
- tooltipTitleFontStyle: string;
- tooltipTitleFontColor: string;
- tooltipYPadding: number;
- tooltipXPadding: number;
- tooltipCaretSize: number;
- tooltipCornerRadius: number;
- tooltipXOffset: number;
- tooltipTemplate: string;
- multiTooltipTemplate: string;
- onAnimationProgress: () => any;
- onAnimationComplete: () => any;
+ animation?: boolean;
+ animationSteps?: number;
+ animationEasing?: string;
+ showScale?: boolean;
+ scaleOverride?: boolean;
+ scaleSteps?: number;
+ scaleStepWidth?: number;
+ scaleStartValue?: number;
+ scaleLineColor?: string;
+ scaleLineWidth?: number;
+ scaleShowLabels?: boolean;
+ scaleLabel?: string;
+ scaleIntegersOnly?: boolean;
+ scaleBeginAtZero?: boolean;
+ scaleFontFamily?: string;
+ scaleFontSize?: number;
+ scaleFontStyle?: string;
+ scaleFontColor?: string;
+ responsive?: boolean;
+ maintainAspectRatio?: boolean;
+ showTooltips?: boolean;
+ tooltipEvents?: string[];
+ tooltipFillColor?: string;
+ tooltipFontFamily?: string;
+ tooltipFontSize?: number;
+ tooltipFontStyle?: string;
+ tooltipFontColor?: string;
+ tooltipTitleFontFamily?: string;
+ tooltipTitleFontSize?: number;
+ tooltipTitleFontStyle?: string;
+ tooltipTitleFontColor?: string;
+ tooltipYPadding?: number;
+ tooltipXPadding?: number;
+ tooltipCaretSize?: number;
+ tooltipCornerRadius?: number;
+ tooltipXOffset?: number;
+ tooltipTemplate?: string;
+ multiTooltipTemplate?: string;
+ onAnimationProgress?: () => any;
+ onAnimationComplete?: () => any;
}
-interface ChartOptions {
+interface ChartOptions extends ChartSettings {
scaleShowGridLines?: boolean;
scaleGridLineColor?: string;
scaleGridLineWidth?: number;
@@ -138,7 +138,7 @@ interface BarChartOptions extends ChartOptions {
barDatasetSpacing?: number;
}
-interface RadarChartOptions {
+interface RadarChartOptions extends ChartSettings {
scaleShowLine?: boolean;
angleShowLineOut?: boolean;
scaleShowLabels?: boolean;
@@ -159,7 +159,7 @@ interface RadarChartOptions {
legendTemplate?: string;
}
-interface PolarAreaChartOptions {
+interface PolarAreaChartOptions extends ChartSettings {
scaleShowLabelBackdrop?: boolean;
scaleBackdropColor?: string;
scaleBeginAtZero?: boolean;
@@ -176,7 +176,7 @@ interface PolarAreaChartOptions {
legendTemplate?: string;
}
-interface PieChartOptions {
+interface PieChartOptions extends ChartSettings {
segmentShowStroke?: boolean;
segmentStrokeColor?: string;
segmentStrokeWidth?: number;