Remove global from defaults (#6893)

This commit is contained in:
Jukka Kurkela
2020-01-03 21:07:38 +02:00
committed by Evert Timberg
parent 099e552e6d
commit f4792306e0
50 changed files with 478 additions and 498 deletions

View File

@@ -26,16 +26,14 @@ defaults._set('bar', {
}
});
defaults._set('global', {
datasets: {
bar: {
categoryPercentage: 0.8,
barPercentage: 0.9,
animation: {
numbers: {
type: 'number',
properties: ['x', 'y', 'base', 'width', 'height']
}
defaults._set('datasets', {
bar: {
categoryPercentage: 0.8,
barPercentage: 0.9,
animation: {
numbers: {
type: 'number',
properties: ['x', 'y', 'base', 'width', 'height']
}
}
}

View File

@@ -36,12 +36,10 @@ defaults._set('horizontalBar', {
}
});
defaults._set('global', {
datasets: {
horizontalBar: {
categoryPercentage: 0.8,
barPercentage: 0.9
}
defaults._set('datasets', {
horizontalBar: {
categoryPercentage: 0.8,
barPercentage: 0.9
}
});

View File

@@ -27,11 +27,9 @@ defaults._set('scatter', {
}
});
defaults._set('global', {
datasets: {
scatter: {
showLine: false
}
defaults._set('datasets', {
scatter: {
showLine: false
}
});

View File

@@ -5,27 +5,25 @@ import Animation from './core.animation';
import defaults from '../core/core.defaults';
import {noop, extend, isObject} from '../helpers/helpers.core';
defaults._set('global', {
animation: {
duration: 1000,
easing: 'easeOutQuart',
active: {
duration: 400
},
resize: {
duration: 0
},
numbers: {
type: 'number',
properties: ['x', 'y', 'borderWidth', 'radius', 'tension']
},
colors: {
type: 'color',
properties: ['borderColor', 'backgroundColor']
},
onProgress: noop,
onComplete: noop
}
defaults._set('animation', {
duration: 1000,
easing: 'easeOutQuart',
active: {
duration: 400
},
resize: {
duration: 0
},
numbers: {
type: 'number',
properties: ['x', 'y', 'borderWidth', 'radius', 'tension']
},
colors: {
type: 'color',
properties: ['borderColor', 'backgroundColor']
},
onProgress: noop,
onComplete: noop
});
function copyOptions(target, values) {

View File

@@ -13,25 +13,6 @@ import Tooltip from './core.tooltip';
const valueOrDefault = helpers.valueOrDefault;
defaults._set('global', {
elements: {},
events: [
'mousemove',
'mouseout',
'click',
'touchstart',
'touchmove'
],
hover: {
onHover: null,
mode: 'nearest',
intersect: true
},
onClick: null,
maintainAspectRatio: true,
responsive: true
});
function mergeScaleConfig(config, options) {
options = options || {};
const chartDefaults = defaults[config.type] || {scales: {}};
@@ -103,7 +84,7 @@ function initConfig(config) {
const scaleConfig = mergeScaleConfig(config, config.options);
config.options = mergeConfig(
defaults.global,
defaults,
defaults[config.type],
config.options || {});
@@ -126,7 +107,7 @@ function updateConfig(chart) {
const scaleConfig = mergeScaleConfig(chart.config, newOptions);
newOptions = mergeConfig(
defaults.global,
defaults,
defaults[chart.config.type],
newOptions);

View File

@@ -1,26 +1,36 @@
'use strict';
var helpers = require('../helpers/helpers.core');
import {merge} from '../helpers/helpers.core';
export default {
color: 'rgba(0,0,0,0.1)',
elements: {},
events: [
'mousemove',
'mouseout',
'click',
'touchstart',
'touchmove'
],
fontColor: '#666',
fontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
fontSize: 12,
fontStyle: 'normal',
lineHeight: 1.2,
hover: {
onHover: null,
mode: 'nearest',
intersect: true
},
maintainAspectRatio: true,
onClick: null,
responsive: true,
showLines: true,
var defaults = {
/**
* @private
*/
_set: function(scope, values) {
return helpers.merge(this[scope] || (this[scope] = {}), values);
return merge(this[scope] || (this[scope] = {}), values);
}
};
// TODO(v3): remove 'global' from namespace. all default are global and
// there's inconsistency around which options are under 'global'
defaults._set('global', {
defaultColor: 'rgba(0,0,0,0.1)',
defaultFontColor: '#666',
defaultFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
defaultFontSize: 12,
defaultFontStyle: 'normal',
defaultLineHeight: 1.2,
showLines: true
});
module.exports = defaults;

View File

@@ -198,14 +198,12 @@ function placeBoxes(boxes, chartArea, params) {
chartArea.y = y;
}
defaults._set('global', {
layout: {
padding: {
top: 0,
right: 0,
bottom: 0,
left: 0
}
defaults._set('layout', {
padding: {
top: 0,
right: 0,
bottom: 0,
left: 0
}
});

View File

@@ -3,9 +3,7 @@
var defaults = require('./core.defaults');
var helpers = require('../helpers/index');
defaults._set('global', {
plugins: {}
});
defaults._set('plugins', {});
/**
* The plugin service singleton
@@ -144,7 +142,7 @@ module.exports = {
}
if (opts === true) {
opts = helpers.clone(defaults.global.plugins[id]);
opts = helpers.clone(defaults.plugins[id]);
}
plugins.push(plugin);

View File

@@ -200,7 +200,7 @@ function parseFontOptions(options, nestedOpts) {
fontStyle: valueOrDefault(nestedOpts.fontStyle, options.fontStyle),
lineHeight: valueOrDefault(nestedOpts.lineHeight, options.lineHeight)
}), {
color: resolve([nestedOpts.fontColor, options.fontColor, defaults.global.defaultFontColor])
color: resolve([nestedOpts.fontColor, options.fontColor, defaults.fontColor])
});
}
@@ -1307,7 +1307,7 @@ class Scale extends Element {
return;
}
var scaleLabelFontColor = valueOrDefault(scaleLabel.fontColor, defaults.global.defaultFontColor);
var scaleLabelFontColor = valueOrDefault(scaleLabel.fontColor, defaults.fontColor);
var scaleLabelFont = helpers.options._parseFont(scaleLabel);
var scaleLabelPadding = helpers.options.toPadding(scaleLabel.padding);
var halfLineHeight = scaleLabelFont.lineHeight / 2;

View File

@@ -8,106 +8,104 @@ const Animations = require('./core.animations');
const valueOrDefault = helpers.valueOrDefault;
const getRtlHelper = helpers.rtl.getRtlAdapter;
defaults._set('global', {
tooltips: {
enabled: true,
custom: null,
mode: 'nearest',
position: 'average',
intersect: true,
backgroundColor: 'rgba(0,0,0,0.8)',
titleFontStyle: 'bold',
titleSpacing: 2,
titleMarginBottom: 6,
titleFontColor: '#fff',
titleAlign: 'left',
bodySpacing: 2,
bodyFontColor: '#fff',
bodyAlign: 'left',
footerFontStyle: 'bold',
footerSpacing: 2,
footerMarginTop: 6,
footerFontColor: '#fff',
footerAlign: 'left',
yPadding: 6,
xPadding: 6,
caretPadding: 2,
caretSize: 5,
cornerRadius: 6,
multiKeyBackground: '#fff',
displayColors: true,
borderColor: 'rgba(0,0,0,0)',
borderWidth: 0,
animation: {
duration: 400,
easing: 'easeOutQuart',
numbers: {
type: 'number',
properties: ['x', 'y', 'width', 'height'],
},
opacity: {
easing: 'linear',
duration: 200
}
defaults._set('tooltips', {
enabled: true,
custom: null,
mode: 'nearest',
position: 'average',
intersect: true,
backgroundColor: 'rgba(0,0,0,0.8)',
titleFontStyle: 'bold',
titleSpacing: 2,
titleMarginBottom: 6,
titleFontColor: '#fff',
titleAlign: 'left',
bodySpacing: 2,
bodyFontColor: '#fff',
bodyAlign: 'left',
footerFontStyle: 'bold',
footerSpacing: 2,
footerMarginTop: 6,
footerFontColor: '#fff',
footerAlign: 'left',
yPadding: 6,
xPadding: 6,
caretPadding: 2,
caretSize: 5,
cornerRadius: 6,
multiKeyBackground: '#fff',
displayColors: true,
borderColor: 'rgba(0,0,0,0)',
borderWidth: 0,
animation: {
duration: 400,
easing: 'easeOutQuart',
numbers: {
type: 'number',
properties: ['x', 'y', 'width', 'height'],
},
callbacks: {
// Args are: (tooltipItems, data)
beforeTitle: helpers.noop,
title: function(tooltipItems, data) {
var title = '';
var labels = data.labels;
var labelCount = labels ? labels.length : 0;
if (tooltipItems.length > 0) {
var item = tooltipItems[0];
if (item.label) {
title = item.label;
} else if (labelCount > 0 && item.index < labelCount) {
title = labels[item.index];
}
}
return title;
},
afterTitle: helpers.noop,
// Args are: (tooltipItems, data)
beforeBody: helpers.noop,
// Args are: (tooltipItem, data)
beforeLabel: helpers.noop,
label: function(tooltipItem, data) {
var label = data.datasets[tooltipItem.datasetIndex].label || '';
if (label) {
label += ': ';
}
if (!helpers.isNullOrUndef(tooltipItem.value)) {
label += tooltipItem.value;
}
return label;
},
labelColor: function(tooltipItem, chart) {
var meta = chart.getDatasetMeta(tooltipItem.datasetIndex);
var options = meta.controller.getStyle(tooltipItem.index);
return {
borderColor: options.borderColor,
backgroundColor: options.backgroundColor
};
},
labelTextColor: function() {
return this.options.bodyFontColor;
},
afterLabel: helpers.noop,
// Args are: (tooltipItems, data)
afterBody: helpers.noop,
// Args are: (tooltipItems, data)
beforeFooter: helpers.noop,
footer: helpers.noop,
afterFooter: helpers.noop
opacity: {
easing: 'linear',
duration: 200
}
},
callbacks: {
// Args are: (tooltipItems, data)
beforeTitle: helpers.noop,
title: function(tooltipItems, data) {
var title = '';
var labels = data.labels;
var labelCount = labels ? labels.length : 0;
if (tooltipItems.length > 0) {
var item = tooltipItems[0];
if (item.label) {
title = item.label;
} else if (labelCount > 0 && item.index < labelCount) {
title = labels[item.index];
}
}
return title;
},
afterTitle: helpers.noop,
// Args are: (tooltipItems, data)
beforeBody: helpers.noop,
// Args are: (tooltipItem, data)
beforeLabel: helpers.noop,
label: function(tooltipItem, data) {
var label = data.datasets[tooltipItem.datasetIndex].label || '';
if (label) {
label += ': ';
}
if (!helpers.isNullOrUndef(tooltipItem.value)) {
label += tooltipItem.value;
}
return label;
},
labelColor: function(tooltipItem, chart) {
var meta = chart.getDatasetMeta(tooltipItem.datasetIndex);
var options = meta.controller.getStyle(tooltipItem.index);
return {
borderColor: options.borderColor,
backgroundColor: options.backgroundColor
};
},
labelTextColor: function() {
return this.options.bodyFontColor;
},
afterLabel: helpers.noop,
// Args are: (tooltipItems, data)
afterBody: helpers.noop,
// Args are: (tooltipItems, data)
beforeFooter: helpers.noop,
footer: helpers.noop,
afterFooter: helpers.noop
}
});
@@ -233,21 +231,20 @@ function createTooltipItem(chart, item) {
* @param options {object} the tooltip options
*/
function resolveOptions(options) {
var globalDefaults = defaults.global;
options = helpers.extend({}, globalDefaults.tooltips, options);
options = helpers.extend({}, defaults.tooltips, options);
options.bodyFontFamily = valueOrDefault(options.bodyFontFamily, globalDefaults.defaultFontFamily);
options.bodyFontStyle = valueOrDefault(options.bodyFontStyle, globalDefaults.defaultFontStyle);
options.bodyFontSize = valueOrDefault(options.bodyFontSize, globalDefaults.defaultFontSize);
options.bodyFontFamily = valueOrDefault(options.bodyFontFamily, defaults.fontFamily);
options.bodyFontStyle = valueOrDefault(options.bodyFontStyle, defaults.fontStyle);
options.bodyFontSize = valueOrDefault(options.bodyFontSize, defaults.fontSize);
options.titleFontFamily = valueOrDefault(options.titleFontFamily, globalDefaults.defaultFontFamily);
options.titleFontStyle = valueOrDefault(options.titleFontStyle, globalDefaults.defaultFontStyle);
options.titleFontSize = valueOrDefault(options.titleFontSize, globalDefaults.defaultFontSize);
options.titleFontFamily = valueOrDefault(options.titleFontFamily, defaults.fontFamily);
options.titleFontStyle = valueOrDefault(options.titleFontStyle, defaults.fontStyle);
options.titleFontSize = valueOrDefault(options.titleFontSize, defaults.fontSize);
options.footerFontFamily = valueOrDefault(options.footerFontFamily, globalDefaults.defaultFontFamily);
options.footerFontStyle = valueOrDefault(options.footerFontStyle, globalDefaults.defaultFontStyle);
options.footerFontSize = valueOrDefault(options.footerFontSize, globalDefaults.defaultFontSize);
options.footerFontFamily = valueOrDefault(options.footerFontFamily, defaults.fontFamily);
options.footerFontStyle = valueOrDefault(options.footerFontStyle, defaults.fontStyle);
options.footerFontSize = valueOrDefault(options.footerFontSize, defaults.fontSize);
return options;
}

View File

@@ -5,14 +5,12 @@ import Element from '../core/core.element';
import {getAngleFromPoint} from '../helpers/helpers.math';
const TAU = Math.PI * 2;
defaults._set('global', {
elements: {
arc: {
backgroundColor: defaults.global.defaultColor,
borderColor: '#fff',
borderWidth: 2,
borderAlign: 'center'
}
defaults._set('elements', {
arc: {
backgroundColor: defaults.color,
borderColor: '#fff',
borderWidth: 2,
borderAlign: 'center'
}
});

View File

@@ -7,22 +7,20 @@ import {_computeSegments, _boundSegments} from '../helpers/helpers.segment';
import {_steppedLineTo, _bezierCurveTo} from '../helpers/helpers.canvas';
import {_updateBezierControlPoints} from '../helpers/helpers.curve';
const defaultColor = defaults.global.defaultColor;
const defaultColor = defaults.color;
defaults._set('global', {
elements: {
line: {
tension: 0.4,
backgroundColor: defaultColor,
borderWidth: 3,
borderColor: defaultColor,
borderCapStyle: 'butt',
borderDash: [],
borderDashOffset: 0.0,
borderJoinStyle: 'miter',
capBezierPoints: true,
fill: true
}
defaults._set('elements', {
line: {
tension: 0.4,
backgroundColor: defaultColor,
borderWidth: 3,
borderColor: defaultColor,
borderCapStyle: 'butt',
borderDash: [],
borderDashOffset: 0.0,
borderJoinStyle: 'miter',
capBezierPoints: true,
fill: true
}
});

View File

@@ -4,21 +4,19 @@ import defaults from '../core/core.defaults';
import Element from '../core/core.element';
import helpers from '../helpers';
const defaultColor = defaults.global.defaultColor;
const defaultColor = defaults.color;
defaults._set('global', {
elements: {
point: {
radius: 3,
pointStyle: 'circle',
backgroundColor: defaultColor,
borderColor: defaultColor,
borderWidth: 1,
// Hover
hitRadius: 1,
hoverRadius: 4,
hoverBorderWidth: 1
}
defaults._set('elements', {
point: {
radius: 3,
pointStyle: 'circle',
backgroundColor: defaultColor,
borderColor: defaultColor,
borderWidth: 1,
// Hover
hitRadius: 1,
hoverRadius: 4,
hoverBorderWidth: 1
}
});

View File

@@ -4,16 +4,14 @@ import defaults from '../core/core.defaults';
import Element from '../core/core.element';
import helpers from '../helpers';
const defaultColor = defaults.global.defaultColor;
const defaultColor = defaults.color;
defaults._set('global', {
elements: {
rectangle: {
backgroundColor: defaultColor,
borderColor: defaultColor,
borderSkipped: 'bottom',
borderWidth: 0
}
defaults._set('elements', {
rectangle: {
backgroundColor: defaultColor,
borderColor: defaultColor,
borderSkipped: 'bottom',
borderWidth: 0
}
});

View File

@@ -90,13 +90,12 @@ export function toPadding(value) {
* @private
*/
export function _parseFont(options) {
var globalDefaults = defaults.global;
var size = valueOrDefault(options.fontSize, globalDefaults.defaultFontSize);
var size = valueOrDefault(options.fontSize, defaults.fontSize);
var font = {
family: valueOrDefault(options.fontFamily, globalDefaults.defaultFontFamily),
lineHeight: toLineHeight(valueOrDefault(options.lineHeight, globalDefaults.defaultLineHeight), size),
family: valueOrDefault(options.fontFamily, defaults.fontFamily),
lineHeight: toLineHeight(valueOrDefault(options.lineHeight, defaults.lineHeight), size),
size: size,
style: valueOrDefault(options.fontStyle, globalDefaults.defaultFontStyle),
style: valueOrDefault(options.fontStyle, defaults.fontStyle),
weight: null,
string: ''
};

View File

@@ -13,11 +13,9 @@ import {clipArea, unclipArea} from '../helpers/helpers.canvas';
import {valueOrDefault, isFinite, isArray, extend} from '../helpers/helpers.core';
import {_normalizeAngle} from '../helpers/helpers.math';
defaults._set('global', {
plugins: {
filler: {
propagate: true
}
defaults._set('plugins', {
filler: {
propagate: true
}
});
@@ -436,7 +434,7 @@ export default {
const {line, target, scale} = meta;
const lineOpts = line.options;
const fillOption = lineOpts.fill;
const color = lineOpts.backgroundColor || defaults.global.defaultColor;
const color = lineOpts.backgroundColor || defaults.color;
const {above = color, below = color} = fillOption || {};
if (target && line.points.length) {
clipArea(ctx, area);

View File

@@ -8,71 +8,69 @@ const layouts = require('../core/core.layouts');
const getRtlHelper = helpers.rtl.getRtlAdapter;
const valueOrDefault = helpers.valueOrDefault;
defaults._set('global', {
legend: {
display: true,
position: 'top',
align: 'center',
fullWidth: true,
reverse: false,
weight: 1000,
defaults._set('legend', {
display: true,
position: 'top',
align: 'center',
fullWidth: true,
reverse: false,
weight: 1000,
// a callback that will handle
onClick: function(e, legendItem) {
var index = legendItem.datasetIndex;
var ci = this.chart;
var meta = ci.getDatasetMeta(index);
// a callback that will handle
onClick: function(e, legendItem) {
var index = legendItem.datasetIndex;
var ci = this.chart;
var meta = ci.getDatasetMeta(index);
// See controller.isDatasetVisible comment
meta.hidden = meta.hidden === null ? !ci.data.datasets[index].hidden : null;
// See controller.isDatasetVisible comment
meta.hidden = meta.hidden === null ? !ci.data.datasets[index].hidden : null;
// We hid a dataset ... rerender the chart
ci.update();
},
// We hid a dataset ... rerender the chart
ci.update();
},
onHover: null,
onLeave: null,
onHover: null,
onLeave: null,
labels: {
boxWidth: 40,
padding: 10,
// Generates labels shown in the legend
// Valid properties to return:
// text : text to display
// fillStyle : fill of coloured box
// strokeStyle: stroke of coloured box
// hidden : if this legend item refers to a hidden item
// lineCap : cap style for line
// lineDash
// lineDashOffset :
// lineJoin :
// lineWidth :
generateLabels: function(chart) {
var datasets = chart.data.datasets;
var options = chart.options.legend || {};
var usePointStyle = options.labels && options.labels.usePointStyle;
labels: {
boxWidth: 40,
padding: 10,
// Generates labels shown in the legend
// Valid properties to return:
// text : text to display
// fillStyle : fill of coloured box
// strokeStyle: stroke of coloured box
// hidden : if this legend item refers to a hidden item
// lineCap : cap style for line
// lineDash
// lineDashOffset :
// lineJoin :
// lineWidth :
generateLabels: function(chart) {
var datasets = chart.data.datasets;
var options = chart.options.legend || {};
var usePointStyle = options.labels && options.labels.usePointStyle;
return chart._getSortedDatasetMetas().map(function(meta) {
var style = meta.controller.getStyle(usePointStyle ? 0 : undefined);
return chart._getSortedDatasetMetas().map(function(meta) {
var style = meta.controller.getStyle(usePointStyle ? 0 : undefined);
return {
text: datasets[meta.index].label,
fillStyle: style.backgroundColor,
hidden: !meta.visible,
lineCap: style.borderCapStyle,
lineDash: style.borderDash,
lineDashOffset: style.borderDashOffset,
lineJoin: style.borderJoinStyle,
lineWidth: style.borderWidth,
strokeStyle: style.borderColor,
pointStyle: style.pointStyle,
rotation: style.rotation,
return {
text: datasets[meta.index].label,
fillStyle: style.backgroundColor,
hidden: !meta.visible,
lineCap: style.borderCapStyle,
lineDash: style.borderDash,
lineDashOffset: style.borderDashOffset,
lineJoin: style.borderJoinStyle,
lineWidth: style.borderWidth,
strokeStyle: style.borderColor,
pointStyle: style.pointStyle,
rotation: style.rotation,
// Below is extra data used for toggling the datasets
datasetIndex: meta.index
};
}, this);
}
// Below is extra data used for toggling the datasets
datasetIndex: meta.index
};
}, this);
}
}
});
@@ -333,9 +331,8 @@ class Legend extends Element {
var me = this;
var opts = me.options;
var labelOpts = opts.labels;
var globalDefaults = defaults.global;
var defaultColor = globalDefaults.defaultColor;
var lineDefault = globalDefaults.elements.line;
var defaultColor = defaults.color;
var lineDefault = defaults.elements.line;
var legendHeight = me.height;
var columnHeights = me.columnHeights;
var legendWidth = me.width;
@@ -347,7 +344,7 @@ class Legend extends Element {
var rtlHelper = getRtlHelper(opts.rtl, me.left, me.minSize.width);
var ctx = me.ctx;
var fontColor = valueOrDefault(labelOpts.fontColor, globalDefaults.defaultFontColor);
var fontColor = valueOrDefault(labelOpts.fontColor, defaults.fontColor);
var labelFont = helpers.options._parseFont(labelOpts);
var fontSize = labelFont.size;
var cursor;
@@ -602,7 +599,7 @@ module.exports = {
var legend = chart.legend;
if (legendOpts) {
helpers.mergeIf(legendOpts, defaults.global.legend);
helpers.mergeIf(legendOpts, defaults.legend);
if (legend) {
layouts.configure(chart, legend, legendOpts);

View File

@@ -5,16 +5,14 @@ const Element = require('../core/core.element');
const helpers = require('../helpers/index');
const layouts = require('../core/core.layouts');
defaults._set('global', {
title: {
display: false,
fontStyle: 'bold',
fullWidth: true,
padding: 10,
position: 'top',
text: '',
weight: 2000 // by default greater than legend (1000) to be above
}
defaults._set('title', {
display: false,
fontStyle: 'bold',
fullWidth: true,
padding: 10,
position: 'top',
text: '',
weight: 2000 // by default greater than legend (1000) to be above
});
/**
@@ -148,7 +146,7 @@ class Title extends Element {
var right = me.right;
var maxWidth, titleX, titleY;
ctx.fillStyle = helpers.valueOrDefault(opts.fontColor, defaults.global.defaultFontColor); // render in correct colour
ctx.fillStyle = helpers.valueOrDefault(opts.fontColor, defaults.fontColor); // render in correct colour
ctx.font = fontOpts.string;
// Horizontal
@@ -221,7 +219,7 @@ module.exports = {
var titleBlock = chart.titleBlock;
if (titleOpts) {
helpers.mergeIf(titleOpts, defaults.global.title);
helpers.mergeIf(titleOpts, defaults.title);
if (titleBlock) {
layouts.configure(chart, titleBlock, titleOpts);

View File

@@ -182,7 +182,7 @@ class LogarithmicScale extends Scale {
if (start === 0) {
start = me._getFirstTickValue(me.minNotZero);
offset = valueOrDefault(me.options.ticks.fontSize, defaults.global.defaultFontSize) / me._length;
offset = valueOrDefault(me.options.ticks.fontSize, defaults.fontSize) / me._length;
}
me._startValue = log10(start);

View File

@@ -64,7 +64,7 @@ function getTickBackdropHeight(opts) {
var tickOpts = opts.ticks;
if (tickOpts.display && opts.display) {
return valueOrDefault(tickOpts.fontSize, defaults.global.defaultFontSize) + tickOpts.backdropPaddingY * 2;
return valueOrDefault(tickOpts.fontSize, defaults.fontSize) + tickOpts.backdropPaddingY * 2;
}
return 0;
}
@@ -236,7 +236,7 @@ function drawPointLabels(scale) {
var pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + 5);
// Keep this in loop since we may support array properties here
var pointLabelFontColor = valueAtIndexOrDefault(pointLabelOpts.fontColor, i, defaults.global.defaultFontColor);
var pointLabelFontColor = valueAtIndexOrDefault(pointLabelOpts.fontColor, i, defaults.fontColor);
ctx.fillStyle = pointLabelFontColor;
var angleRadians = scale.getIndexAngle(i);
@@ -486,7 +486,7 @@ class RadialLinearScale extends LinearScaleBase {
var startAngle = me.getIndexAngle(0);
var tickFont = helpers.options._parseFont(tickOpts);
var tickFontColor = valueOrDefault(tickOpts.fontColor, defaults.global.defaultFontColor);
var tickFontColor = valueOrDefault(tickOpts.fontColor, defaults.fontColor);
var offset, width;
ctx.save();

View File

@@ -735,7 +735,7 @@ class TimeScale extends Scale {
const angle = toRadians(me.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);
const cosRotation = Math.cos(angle);
const sinRotation = Math.sin(angle);
const tickFontSize = valueOrDefault(ticksOpts.fontSize, defaults.global.defaultFontSize);
const tickFontSize = valueOrDefault(ticksOpts.fontSize, defaults.fontSize);
return {
w: (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation),