mirror of
https://github.com/chartjs/Chart.js.git
synced 2026-03-05 16:04:03 +01:00
Make legend appearance consistent with chart elements (#5621)
This commit is contained in:
committed by
Simon Brunel
parent
f093c36574
commit
feeda5d034
@@ -47,6 +47,22 @@ module.exports = DatasetController.extend({
|
||||
*/
|
||||
dataElementType: elements.Point,
|
||||
|
||||
/**
|
||||
* @private
|
||||
*/
|
||||
_dataElementOptions: [
|
||||
'backgroundColor',
|
||||
'borderColor',
|
||||
'borderWidth',
|
||||
'hoverBackgroundColor',
|
||||
'hoverBorderColor',
|
||||
'hoverBorderWidth',
|
||||
'hoverRadius',
|
||||
'hitRadius',
|
||||
'pointStyle',
|
||||
'rotation'
|
||||
],
|
||||
|
||||
/**
|
||||
* @protected
|
||||
*/
|
||||
@@ -70,7 +86,7 @@ module.exports = DatasetController.extend({
|
||||
var custom = point.custom || {};
|
||||
var xScale = me.getScaleForId(meta.xAxisID);
|
||||
var yScale = me.getScaleForId(meta.yAxisID);
|
||||
var options = me._resolveElementOptions(point, index);
|
||||
var options = me._resolveDataElementOptions(point, index);
|
||||
var data = me.getDataset().data[index];
|
||||
var dsIndex = me.index;
|
||||
|
||||
@@ -122,17 +138,13 @@ module.exports = DatasetController.extend({
|
||||
/**
|
||||
* @private
|
||||
*/
|
||||
_resolveElementOptions: function(point, index) {
|
||||
_resolveDataElementOptions: function(point, index) {
|
||||
var me = this;
|
||||
var chart = me.chart;
|
||||
var datasets = chart.data.datasets;
|
||||
var dataset = datasets[me.index];
|
||||
var datasetOpts = me._config;
|
||||
var dataset = me.getDataset();
|
||||
var custom = point.custom || {};
|
||||
var options = chart.options.elements.point;
|
||||
var data = dataset.data[index];
|
||||
var values = {};
|
||||
var i, ilen, key;
|
||||
var data = dataset.data[index] || {};
|
||||
var values = DatasetController.prototype._resolveDataElementOptions.apply(me, arguments);
|
||||
|
||||
// Scriptable options
|
||||
var context = {
|
||||
@@ -142,34 +154,12 @@ module.exports = DatasetController.extend({
|
||||
datasetIndex: me.index
|
||||
};
|
||||
|
||||
var keys = [
|
||||
'backgroundColor',
|
||||
'borderColor',
|
||||
'borderWidth',
|
||||
'hoverBackgroundColor',
|
||||
'hoverBorderColor',
|
||||
'hoverBorderWidth',
|
||||
'hoverRadius',
|
||||
'hitRadius',
|
||||
'pointStyle',
|
||||
'rotation'
|
||||
];
|
||||
|
||||
for (i = 0, ilen = keys.length; i < ilen; ++i) {
|
||||
key = keys[i];
|
||||
values[key] = resolve([
|
||||
custom[key],
|
||||
datasetOpts[key],
|
||||
options[key]
|
||||
], context, index);
|
||||
}
|
||||
|
||||
// Custom radius resolution
|
||||
values.radius = resolve([
|
||||
custom.radius,
|
||||
data ? data.r : undefined,
|
||||
dataset.radius,
|
||||
options.radius
|
||||
data.r,
|
||||
me._config.radius,
|
||||
chart.options.elements.point.radius
|
||||
], context, index);
|
||||
|
||||
return values;
|
||||
|
||||
Reference in New Issue
Block a user