MDL-83737 libraries: Upgrade ChartJS to version 4.4.7.

This commit is contained in:
Pedro Jordao
2025-01-08 13:33:17 -03:00
parent ab5692acdf
commit a33ed897b1
4 changed files with 44 additions and 21 deletions
+1 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+41 -18
View File
@@ -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;
+1 -1
View File
@@ -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 &amp; developers.</description>
<version>4.4.2</version>
<version>4.4.7</version>
<license>MIT</license>
<repository>https://github.com/chartjs/Chart.js</repository>
<copyrights>