MDL-83737 libraries: Upgrade ChartJS to version 4.4.7.
This commit is contained in:
Vendored
+1
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+41
-18
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* Chart.js v4.4.2
|
||||
* Chart.js v4.4.7
|
||||
* https://www.chartjs.org
|
||||
* (c) 2024 Chart.js Contributors
|
||||
* Released under the MIT License
|
||||
@@ -77,7 +77,7 @@ get Tooltip () { return plugin_tooltip; }
|
||||
* @param value - The value to test.
|
||||
* @since 2.7.0
|
||||
*/ function isNullOrUndef(value) {
|
||||
return value === null || typeof value === 'undefined';
|
||||
return value === null || value === undefined;
|
||||
}
|
||||
/**
|
||||
* Returns true if `value` is an array (including typed arrays), else returns false.
|
||||
@@ -1913,7 +1913,7 @@ const useOffsetPos = (x, y, target)=>(x > 0 || y > 0) && (!target || !target.sha
|
||||
function getContainerSize(canvas, width, height) {
|
||||
let maxWidth, maxHeight;
|
||||
if (width === undefined || height === undefined) {
|
||||
const container = _getParentNode(canvas);
|
||||
const container = canvas && _getParentNode(canvas);
|
||||
if (!container) {
|
||||
width = canvas.clientWidth;
|
||||
height = canvas.clientHeight;
|
||||
@@ -2116,6 +2116,9 @@ function _longestText(ctx, font, arrayOfThings, cache) {
|
||||
/**
|
||||
* Clears the entire canvas.
|
||||
*/ function clearCanvas(canvas, ctx) {
|
||||
if (!ctx && !canvas) {
|
||||
return;
|
||||
}
|
||||
ctx = ctx || canvas.getContext('2d');
|
||||
ctx.save();
|
||||
// canvas.width and canvas.height do not consider the canvas transform,
|
||||
@@ -2557,7 +2560,7 @@ function drawBackdrop(ctx, opts) {
|
||||
const readKey = (prefix, name)=>prefix ? prefix + _capitalize(name) : name;
|
||||
const needsSubResolver = (prop, value)=>isObject(value) && prop !== 'adapters' && (Object.getPrototypeOf(value) === null || value.constructor === Object);
|
||||
function _cached(target, prop, resolve) {
|
||||
if (Object.prototype.hasOwnProperty.call(target, prop)) {
|
||||
if (Object.prototype.hasOwnProperty.call(target, prop) || prop === 'constructor') {
|
||||
return target[prop];
|
||||
}
|
||||
const value = resolve();
|
||||
@@ -3768,7 +3771,7 @@ function binarySearch(metaset, axis, value, intersect) {
|
||||
const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange';
|
||||
let intersectsItem = false;
|
||||
evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index)=>{
|
||||
if (element[rangeMethod](position[axis], useFinalPosition)) {
|
||||
if (element[rangeMethod] && element[rangeMethod](position[axis], useFinalPosition)) {
|
||||
items.push({
|
||||
element,
|
||||
datasetIndex,
|
||||
@@ -4467,7 +4470,7 @@ function createProxyAndListen(chart, type, listener) {
|
||||
return getMaximumSize(canvas, width, height, aspectRatio);
|
||||
}
|
||||
isAttached(canvas) {
|
||||
const container = _getParentNode(canvas);
|
||||
const container = canvas && _getParentNode(canvas);
|
||||
return !!(container && container.isConnected);
|
||||
}
|
||||
}
|
||||
@@ -4780,9 +4783,11 @@ function applyStack(stack, value, dsIndex, options = {}) {
|
||||
if (value === null) {
|
||||
return;
|
||||
}
|
||||
let found = false;
|
||||
for(i = 0, ilen = keys.length; i < ilen; ++i){
|
||||
datasetIndex = +keys[i];
|
||||
if (datasetIndex === dsIndex) {
|
||||
found = true;
|
||||
if (options.all) {
|
||||
continue;
|
||||
}
|
||||
@@ -4793,17 +4798,23 @@ function applyStack(stack, value, dsIndex, options = {}) {
|
||||
value += otherValue;
|
||||
}
|
||||
}
|
||||
if (!found && !options.all) {
|
||||
return 0;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
function convertObjectDataToArray(data) {
|
||||
function convertObjectDataToArray(data, meta) {
|
||||
const { iScale , vScale } = meta;
|
||||
const iAxisKey = iScale.axis === 'x' ? 'x' : 'y';
|
||||
const vAxisKey = vScale.axis === 'x' ? 'x' : 'y';
|
||||
const keys = Object.keys(data);
|
||||
const adata = new Array(keys.length);
|
||||
let i, ilen, key;
|
||||
for(i = 0, ilen = keys.length; i < ilen; ++i){
|
||||
key = keys[i];
|
||||
adata[i] = {
|
||||
x: key,
|
||||
y: data[key]
|
||||
[iAxisKey]: key,
|
||||
[vAxisKey]: data[key]
|
||||
};
|
||||
}
|
||||
return adata;
|
||||
@@ -4995,7 +5006,8 @@ class DatasetController {
|
||||
const data = dataset.data || (dataset.data = []);
|
||||
const _data = this._data;
|
||||
if (isObject(data)) {
|
||||
this._data = convertObjectDataToArray(data);
|
||||
const meta = this._cachedMeta;
|
||||
this._data = convertObjectDataToArray(data, meta);
|
||||
} else if (_data !== data) {
|
||||
if (_data) {
|
||||
unlistenArrayEvents(_data, this);
|
||||
@@ -5032,6 +5044,7 @@ class DatasetController {
|
||||
this._resyncElements(resetNewElements);
|
||||
if (stackChanged || oldStacked !== meta._stacked) {
|
||||
updateStacks(this, meta._parsed);
|
||||
meta._stacked = isStacked(meta.vScale, meta);
|
||||
}
|
||||
}
|
||||
configure() {
|
||||
@@ -7546,7 +7559,7 @@ function needContext(proxy, names) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var version = "4.4.2";
|
||||
var version = "4.4.7";
|
||||
|
||||
const KNOWN_POSITIONS = [
|
||||
'top',
|
||||
@@ -8078,8 +8091,8 @@ class Chart {
|
||||
let i;
|
||||
if (this._resizeBeforeDraw) {
|
||||
const { width , height } = this._resizeBeforeDraw;
|
||||
this._resize(width, height);
|
||||
this._resizeBeforeDraw = null;
|
||||
this._resize(width, height);
|
||||
}
|
||||
this.clear();
|
||||
if (this.width <= 0 || this.height <= 0) {
|
||||
@@ -8846,8 +8859,10 @@ class BarController extends DatasetController {
|
||||
const metasets = iScale.getMatchingVisibleMetas(this._type).filter((meta)=>meta.controller.options.grouped);
|
||||
const stacked = iScale.options.stacked;
|
||||
const stacks = [];
|
||||
const currentParsed = this._cachedMeta.controller.getParsed(dataIndex);
|
||||
const iScaleValue = currentParsed && currentParsed[iScale.axis];
|
||||
const skipNull = (meta)=>{
|
||||
const parsed = meta.controller.getParsed(dataIndex);
|
||||
const parsed = meta._parsed.find((item)=>item[iScale.axis] === iScaleValue);
|
||||
const val = parsed && parsed[meta.vScale.axis];
|
||||
if (isNullOrUndef(val) || isNaN(val)) {
|
||||
return true;
|
||||
@@ -8986,7 +9001,7 @@ class BarController extends DatasetController {
|
||||
const ilen = rects.length;
|
||||
let i = 0;
|
||||
for(; i < ilen; ++i){
|
||||
if (this.getParsed(i)[vScale.axis] !== null) {
|
||||
if (this.getParsed(i)[vScale.axis] !== null && !rects[i].hidden) {
|
||||
rects[i].draw(this._ctx);
|
||||
}
|
||||
}
|
||||
@@ -10178,7 +10193,8 @@ class ArcElement extends Element {
|
||||
], useFinalPosition);
|
||||
const rAdjust = (this.options.spacing + this.options.borderWidth) / 2;
|
||||
const _circumference = valueOrDefault(circumference, endAngle - startAngle);
|
||||
const betweenAngles = _circumference >= TAU || _angleBetween(angle, startAngle, endAngle);
|
||||
const nonZeroBetween = _angleBetween(angle, startAngle, endAngle) && startAngle !== endAngle;
|
||||
const betweenAngles = _circumference >= TAU || nonZeroBetween;
|
||||
const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust);
|
||||
return betweenAngles && withinRadius;
|
||||
}
|
||||
@@ -11569,7 +11585,7 @@ function drawRadiusLine(scale, gridLineOpts, radius, labelCount, borderOpts) {
|
||||
ctx.save();
|
||||
ctx.strokeStyle = color;
|
||||
ctx.lineWidth = lineWidth;
|
||||
ctx.setLineDash(borderOpts.dash);
|
||||
ctx.setLineDash(borderOpts.dash || []);
|
||||
ctx.lineDashOffset = borderOpts.dashOffset;
|
||||
ctx.beginPath();
|
||||
pathRadiusLine(scale, radius, circular, labelCount);
|
||||
@@ -11773,7 +11789,7 @@ class RadialLinearScale extends LinearScaleBase {
|
||||
ctx.strokeStyle = color;
|
||||
ctx.setLineDash(optsAtIndex.borderDash);
|
||||
ctx.lineDashOffset = optsAtIndex.borderDashOffset;
|
||||
offset = this.getDistanceFromCenterForValue(opts.ticks.reverse ? this.min : this.max);
|
||||
offset = this.getDistanceFromCenterForValue(opts.reverse ? this.min : this.max);
|
||||
position = this.getPointPosition(i, offset);
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(this.xCenter, this.yCenter);
|
||||
@@ -12420,6 +12436,9 @@ function containsColorsDefinitions(descriptors) {
|
||||
function containsColorsDefinition(descriptor) {
|
||||
return descriptor && (descriptor.borderColor || descriptor.backgroundColor);
|
||||
}
|
||||
function containsDefaultColorsDefenitions() {
|
||||
return defaults.borderColor !== 'rgba(0,0,0,0.1)' || defaults.backgroundColor !== 'rgba(0,0,0,0.1)';
|
||||
}
|
||||
var plugin_colors = {
|
||||
id: 'colors',
|
||||
defaults: {
|
||||
@@ -12432,7 +12451,8 @@ var plugin_colors = {
|
||||
}
|
||||
const { data: { datasets } , options: chartOptions } = chart.config;
|
||||
const { elements } = chartOptions;
|
||||
if (!options.forceOverride && (containsColorsDefinitions(datasets) || containsColorsDefinition(chartOptions) || elements && containsColorsDefinitions(elements))) {
|
||||
const containsColorDefenition = containsColorsDefinitions(datasets) || containsColorsDefinition(chartOptions) || elements && containsColorsDefinitions(elements) || containsDefaultColorsDefenitions();
|
||||
if (!options.forceOverride && containsColorDefenition) {
|
||||
return;
|
||||
}
|
||||
const colorizer = getColorizer(chart);
|
||||
@@ -13975,6 +13995,9 @@ const positioners = {
|
||||
++count;
|
||||
}
|
||||
}
|
||||
if (count === 0 || xSet.size === 0) {
|
||||
return false;
|
||||
}
|
||||
const xAverage = [
|
||||
...xSet
|
||||
].reduce((a, b)=>a + b) / xSet.size;
|
||||
|
||||
@@ -376,7 +376,7 @@ All rights reserved.</copyright>
|
||||
<location>amd/src/chartjs-lazy.js</location>
|
||||
<name>Chart.js</name>
|
||||
<description>Simple yet flexible JavaScript charting for designers & developers.</description>
|
||||
<version>4.4.2</version>
|
||||
<version>4.4.7</version>
|
||||
<license>MIT</license>
|
||||
<repository>https://github.com/chartjs/Chart.js</repository>
|
||||
<copyrights>
|
||||
|
||||
Reference in New Issue
Block a user