@nativescript-community/ui-chart 2.0.28 → 2.0.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [2.0.30](https://github.com/nativescript-community/ui-chart/compare/v2.0.29...v2.0.30) (2026-08-13)
7
+
8
+ **Note:** Version bump only for package @nativescript-community/ui-chart
9
+
10
+ ## [2.0.29](https://github.com/nativescript-community/ui-chart/compare/v2.0.28...v2.0.29) (2026-05-13)
11
+
12
+ **Note:** Version bump only for package @nativescript-community/ui-chart
13
+
6
14
  ## [2.0.28](https://github.com/nativescript-community/ui-chart/compare/v2.0.27...v2.0.28) (2026-04-24)
7
15
 
8
16
  **Note:** Version bump only for package @nativescript-community/ui-chart
@@ -41,14 +41,14 @@ export class CombinedChart extends BarLineChartBase {
41
41
  return this.mData;
42
42
  }
43
43
  set data(data) {
44
+ // clear renderers first to prevent notifying on removed renderers
45
+ this.renderer.renderers = [];
44
46
  super.data = data;
45
47
  // we need to reset highlighter here because it checks for barData
46
48
  // to create BarHighligther
47
49
  this.highlighter = new CombinedHighlighter(this, this);
48
50
  this.renderer.createRenderers();
49
- // if (this.viewPortHandler.hasChartDimens) {
50
51
  this.renderer.initBuffers();
51
- // }
52
52
  }
53
53
  get data() {
54
54
  return this.mData;
@@ -1 +1 @@
1
- {"version":3,"file":"CombinedChart.js","sourceRoot":"","sources":["../../../src/ui-chart/charts/CombinedChart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CombinedChart.js","sourceRoot":"","sources":["../../../src/ui-chart/charts/CombinedChart.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nativescript-community/ui-chart",
3
- "version": "2.0.28",
3
+ "version": "2.0.30",
4
4
  "description": "A powerful chart / graph plugin, supporting line, bar, pie, radar, bubble, and candlestick charts as well as scaling, panning and animations.",
5
5
  "main": "./index",
6
6
  "sideEffects": false,
@@ -54,5 +54,5 @@
54
54
  "downsample": "^1.4.0",
55
55
  "number-format.js": "^2.0.9"
56
56
  },
57
- "gitHead": "d3bd32783dff23795e0aab3d5d10f56bd79e85b8"
57
+ "gitHead": "13a76963b6ea2cf00f1ba5be155eb517b142d040"
58
58
  }
@@ -77,10 +77,23 @@ export declare class LineChartRenderer extends LineRadarRenderer {
77
77
  generateHorizontalBezierPath(dataSet: ILineDataSet, outputPath: Path): (number | number[] | Float32Array<ArrayBufferLike> | Float64Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike>)[];
78
78
  generateCubicPath(dataSet: ILineDataSet, outputPath: Path): (number | number[] | Float32Array<ArrayBufferLike> | Float64Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike>)[];
79
79
  generateLinearPath(dataSet: ILineDataSet, outputPath: Path): (number | number[] | Float32Array<ArrayBufferLike> | Float64Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike>)[];
80
+ /**
81
+ * Hard edged gradient over the content rect, one band per color. Each color carries the index of
82
+ * the entry it starts at, in `dataSet.xProperty` or in `index`.
83
+ *
84
+ * The pixel of a stop is derived from the entry's x **value** through the transformer rather than
85
+ * from the point buffer: that buffer holds 2 floats per entry in LINEAR/STEPPED mode but 6 in
86
+ * either bezier mode (two control points and the anchor), so indexing it with a stride of 2 put
87
+ * every stop at roughly a third of its real position, and the error moved with the pan. Going
88
+ * through the transformer is mode agnostic, and filtering agnostic too: decimation changes which
89
+ * entries exist, not where a given x value lands on screen.
90
+ *
91
+ * @param alpha optional 0-255 alpha applied to every stop, for the fill pass
92
+ */
80
93
  getMultiColorsShader(colors: {
81
94
  color: string | Color;
82
95
  [k: string]: any;
83
- }[], points: any, trans: Transformer, dataSet: LineDataSet): LinearGradient;
96
+ }[], trans: Transformer, dataSet: LineDataSet, alpha?: number): LinearGradient;
84
97
  lastLinePath: Path;
85
98
  protected draw(c: Canvas, dataSet: LineDataSet): boolean;
86
99
  drawLines(canvas: Canvas, points: number[], offest: number, length: number, paint: Paint, matrix?: Matrix): void;
@@ -1,6 +1,5 @@
1
1
  import { Canvas, Direction, FillType, LinearGradient, Path, Style, TileMode, releaseImage } from '@nativescript-community/ui-canvas';
2
- import { Screen } from '@nativescript/core';
3
- import { Rounding } from '../data/DataSet';
2
+ import { Color, Screen } from '@nativescript/core';
4
3
  import { Mode } from '../data/LineDataSet';
5
4
  import { ColorTemplate } from '../utils/ColorTemplate';
6
5
  import { Utils } from '../utils/Utils';
@@ -401,71 +400,84 @@ export class LineChartRenderer extends LineRadarRenderer {
401
400
  return [];
402
401
  }
403
402
  }
404
- getMultiColorsShader(colors, points, trans, dataSet) {
403
+ /**
404
+ * Hard edged gradient over the content rect, one band per color. Each color carries the index of
405
+ * the entry it starts at, in `dataSet.xProperty` or in `index`.
406
+ *
407
+ * The pixel of a stop is derived from the entry's x **value** through the transformer rather than
408
+ * from the point buffer: that buffer holds 2 floats per entry in LINEAR/STEPPED mode but 6 in
409
+ * either bezier mode (two control points and the anchor), so indexing it with a stride of 2 put
410
+ * every stop at roughly a third of its real position, and the error moved with the pan. Going
411
+ * through the transformer is mode agnostic, and filtering agnostic too: decimation changes which
412
+ * entries exist, not where a given x value lands on screen.
413
+ *
414
+ * @param alpha optional 0-255 alpha applied to every stop, for the fill pass
415
+ */
416
+ getMultiColorsShader(colors, trans, dataSet, alpha) {
405
417
  const nbColors = colors.length;
418
+ if (nbColors === 0) {
419
+ return null;
420
+ }
406
421
  const xKey = dataSet.xProperty;
407
- if (nbColors > 0) {
408
- trans.pointValuesToPixel(points);
409
- const shaderColors = [];
410
- const positions = [];
411
- const firstIndex = Math.max(0, this.mXBounds.min);
412
- const range = this.mXBounds.range;
413
- const lastIndex = firstIndex + range;
414
- const width = this.mViewPortHandler.chartWidth;
415
- const chartRect = this.mViewPortHandler.chartRect;
416
- let lastColor;
417
- const gradientDelta = 0;
418
- const posDelta = gradientDelta / width;
419
- for (let index = 0; index < nbColors; index++) {
420
- const color = colors[index];
421
- let colorIndex = color[xKey || 'index'];
422
- // if filtered we need to get the real index
423
- if (dataSet.filtered) {
424
- dataSet.ignoreFiltered = true;
425
- const entry = dataSet.getEntryForIndex(colorIndex);
426
- dataSet.ignoreFiltered = false;
427
- if (entry) {
428
- colorIndex = dataSet.getEntryIndexForXValue(dataSet.getEntryXValue(entry, colorIndex), NaN, Rounding.CLOSEST);
429
- }
430
- }
431
- if (colorIndex < firstIndex) {
432
- lastColor = color.color;
433
- continue;
434
- }
435
- if (colorIndex > lastIndex) {
436
- if (shaderColors.length === 0) {
437
- shaderColors.push(lastColor);
438
- positions.push(0);
439
- shaderColors.push(lastColor);
440
- positions.push(1);
441
- }
442
- break;
443
- }
444
- const posX = Math.floor(points[(colorIndex - firstIndex) * 2]);
445
- const pos = (posX - chartRect.left) / width;
446
- if (lastColor) {
447
- if (shaderColors.length === 0) {
448
- shaderColors.push(lastColor);
449
- positions.push(0);
450
- }
451
- shaderColors.push(lastColor);
452
- positions.push(pos - posDelta);
453
- }
454
- shaderColors.push(color.color);
455
- positions.push(pos + posDelta);
456
- lastColor = color.color;
422
+ const contentRect = this.mViewPortHandler.contentRect;
423
+ const width = contentRect.width();
424
+ if (width <= 0) {
425
+ return null;
426
+ }
427
+ const withAlpha = (color) => {
428
+ if (alpha === undefined || alpha >= 255) {
429
+ return color;
430
+ }
431
+ const actual = color instanceof Color ? color : new Color(color);
432
+ return new Color(Math.round((alpha * actual.a) / 255), actual.r, actual.g, actual.b);
433
+ };
434
+ const shaderColors = [];
435
+ const positions = [];
436
+ let currentColor;
437
+ let lastPosition = 0;
438
+ // the stops index the unfiltered values, whatever decimation is currently applied
439
+ const wasIgnoringFiltered = dataSet.ignoreFiltered;
440
+ dataSet.ignoreFiltered = true;
441
+ for (let index = 0; index < nbColors; index++) {
442
+ const color = colors[index];
443
+ const colorIndex = color[xKey || 'index'];
444
+ const entry = dataSet.getEntryForIndex(colorIndex);
445
+ if (!entry) {
446
+ continue;
457
447
  }
448
+ const posX = trans.getPixelForValues(dataSet.getEntryXValue(entry, colorIndex), 0).x;
449
+ // a stop outside the viewport still matters: clamped, it is the color CLAMP extends past
450
+ // that edge. Unclamped it would be an out of range gradient stop, which both backends
451
+ // render as garbage - that was the second half of the "colors jump when panning" bug
452
+ const position = Math.max(Math.min((posX - contentRect.left) / width, 1), 0);
453
+ currentColor = withAlpha(color.color);
458
454
  if (shaderColors.length === 0) {
459
- shaderColors.push(colors[0].color);
455
+ // whatever its real position, the first stop anchors the gradient at the left edge
456
+ shaderColors.push(currentColor);
460
457
  positions.push(0);
458
+ continue;
461
459
  }
462
- if (shaderColors.length === 1) {
463
- shaderColors.push(colors[0].color);
464
- positions.push(1);
460
+ if (position <= lastPosition) {
461
+ // collapsed onto the previous stop, ie clamped or under a pixel wide: it takes over
462
+ shaderColors[shaderColors.length - 1] = currentColor;
463
+ continue;
465
464
  }
466
- return new LinearGradient(0, 0, width, 0, shaderColors, positions, TileMode.CLAMP);
465
+ // close the running band and open the new one on the same position, for a hard edge
466
+ shaderColors.push(shaderColors[shaderColors.length - 1]);
467
+ positions.push(position);
468
+ shaderColors.push(currentColor);
469
+ positions.push(position);
470
+ lastPosition = position;
467
471
  }
468
- return null;
472
+ dataSet.ignoreFiltered = wasIgnoringFiltered;
473
+ if (shaderColors.length === 0) {
474
+ return null;
475
+ }
476
+ if (shaderColors.length === 1) {
477
+ shaderColors.push(currentColor);
478
+ positions.push(1);
479
+ }
480
+ return new LinearGradient(contentRect.left, 0, contentRect.right, 0, shaderColors, positions, TileMode.CLAMP);
469
481
  }
470
482
  draw(c, dataSet) {
471
483
  const result = false;
@@ -499,15 +511,17 @@ export class LineChartRenderer extends LineRadarRenderer {
499
511
  const renderPaint = this.renderPaint;
500
512
  let paintColorsShader;
501
513
  if (nbColors > 1) {
502
- // TODO: we transforms points in there. Could be dangerous if used after
503
- paintColorsShader = this.getMultiColorsShader(colors, points, trans, dataSet);
514
+ paintColorsShader = this.getMultiColorsShader(colors, trans, dataSet);
504
515
  }
505
516
  let oldShader;
506
517
  if (drawFilled) {
507
518
  const useColorsForFill = dataSet.useColorsForFill;
508
519
  if (paintColorsShader && useColorsForFill) {
509
520
  oldShader = renderPaint.getShader();
510
- renderPaint.setShader(paintColorsShader);
521
+ // the paint color is ignored once a shader is set, so the fill alpha has to be baked
522
+ // into the stops. Without it a multi colored fill draws opaque while a plain one
523
+ // honours fillAlpha
524
+ renderPaint.setShader(dataSet.fillAlpha >= 255 ? paintColorsShader : this.getMultiColorsShader(colors, trans, dataSet, dataSet.fillAlpha));
511
525
  }
512
526
  const fillPath = this.fillPath;
513
527
  fillPath.reset();
@@ -518,12 +532,22 @@ export class LineChartRenderer extends LineRadarRenderer {
518
532
  const drawFill = () => {
519
533
  this.drawFill(c, dataSet, fillPath, trans, minEntryValue, maxEntryValue);
520
534
  };
535
+ // the fill is painted through clipPath + drawPaint, which floods the whole clip region.
536
+ // Keep it inside the plot area whatever the platform does with the outer clip
537
+ const clipToContent = this.mChart.clipDataToContent;
538
+ const clipSave = clipToContent ? c.save() : 0;
539
+ if (clipToContent) {
540
+ c.clipRect(this.mViewPortHandler.contentRect);
541
+ }
521
542
  if (customRender?.drawFill) {
522
543
  customRender.drawFill(c, dataSet, fillPath, trans, minEntryValue, maxEntryValue, drawFill);
523
544
  }
524
545
  else {
525
546
  drawFill();
526
547
  }
548
+ if (clipToContent) {
549
+ c.restoreToCount(clipSave);
550
+ }
527
551
  this.lastLinePath = linePath;
528
552
  if (paintColorsShader && useColorsForFill) {
529
553
  renderPaint.setShader(oldShader);
@@ -1 +1 @@
1
- {"version":3,"file":"LineChartRenderer.js","sourceRoot":"","sources":["../../../src/ui-chart/renderer/LineChartRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LineChartRenderer.js","sourceRoot":"","sources":["../../../src/ui-chart/renderer/LineChartRenderer.ts"],"names":[],"mappings":"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"}