IE11 compatibility (#6872)

This commit is contained in:
Jukka Kurkela 2019-12-31 00:15:57 +02:00 committed by Evert Timberg
parent dbd835f4f3
commit 3427479a25
2 changed files with 25 additions and 8 deletions

View File

@ -42,6 +42,17 @@ function copyOptions(target, values) {
delete values.options;
}
function extensibleConfig(animations) {
const result = {};
Object.keys(animations).forEach(key => {
const value = animations[key];
if (!isObject(value)) {
result[key] = value;
}
});
return result;
}
export default class Animations {
constructor(chart, animations) {
this._chart = chart;
@ -50,12 +61,17 @@ export default class Animations {
}
configure(animations) {
const animatedProps = this._properties;
const animDefaults = Object.fromEntries(Object.entries(animations).filter(({1: value}) => !isObject(value)));
if (!isObject(animations)) {
return;
}
for (let [key, cfg] of Object.entries(animations)) {
const animatedProps = this._properties;
const animDefaults = extensibleConfig(animations);
Object.keys(animations).forEach(key => {
const cfg = animations[key];
if (!isObject(cfg)) {
continue;
return;
}
for (let prop of cfg.properties || [key]) {
// Can have only one config per animation.
@ -66,7 +82,7 @@ export default class Animations {
animatedProps.set(prop, extend({}, animatedProps.get(prop), cfg));
}
}
}
});
}
/**

View File

@ -68,7 +68,8 @@ function mergeScaleConfig(config, options) {
});
// apply scale defaults, if not overridden by dataset defaults
Object.values(scales).forEach(scale => {
Object.keys(scales).forEach(key => {
const scale = scales[key];
helpers.mergeIf(scale, scaleService.getScaleDefaults(scale.type));
});
@ -139,9 +140,9 @@ function updateConfig(chart) {
chart.tooltip.initialize();
}
const KNOWN_POSITIONS = ['top', 'bottom', 'left', 'right', 'chartArea'];
const KNOWN_POSITIONS = new Set(['top', 'bottom', 'left', 'right', 'chartArea']);
function positionIsHorizontal(position, axis) {
return position === 'top' || position === 'bottom' || (!KNOWN_POSITIONS.includes(position) && axis === 'x');
return position === 'top' || position === 'bottom' || (!KNOWN_POSITIONS.has(position) && axis === 'x');
}
function compare2Level(l1, l2) {