@nativescript-community/ui-chart 2.0.29 → 2.0.31

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.31](https://github.com/nativescript-community/ui-chart/compare/v2.0.30...v2.0.31) (2026-11-02)
7
+
8
+ **Note:** Version bump only for package @nativescript-community/ui-chart
9
+
10
+ ## [2.0.30](https://github.com/nativescript-community/ui-chart/compare/v2.0.29...v2.0.30) (2026-08-13)
11
+
12
+ **Note:** Version bump only for package @nativescript-community/ui-chart
13
+
6
14
  ## [2.0.29](https://github.com/nativescript-community/ui-chart/compare/v2.0.28...v2.0.29) (2026-05-13)
7
15
 
8
16
  **Note:** Version bump only for package @nativescript-community/ui-chart
@@ -23,6 +23,9 @@ export declare class BarLineChartTouchListener extends ChartTouchListener<BarLin
23
23
  private mTouchPointCenter;
24
24
  private mSavedXDist;
25
25
  private mSavedYDist;
26
+ private mPanRebase;
27
+ private mPanOriginX;
28
+ private mPanOriginY;
26
29
  private mClosestDataSetToTouch;
27
30
  private mDecelerationVelocity;
28
31
  /**
@@ -106,6 +109,12 @@ export declare class BarLineChartTouchListener extends ChartTouchListener<BarLin
106
109
  getOrCreateTapGestureHandler(): TapGestureHandler;
107
110
  getOrCreatePinchGestureHandler(): PinchGestureHandler;
108
111
  getOrCreatePanGestureHandler(): PanGestureHandler;
112
+ hasVerticalScrollableAncestor(): boolean;
113
+ shouldStartPan(extraData: {
114
+ numberOfPointers?: number;
115
+ translationX?: number;
116
+ translationY?: number;
117
+ }): boolean;
109
118
  setDoubleTap(enabled: boolean): void;
110
119
  setTap(enabled: boolean): void;
111
120
  setPinch(enabled: boolean): void;
@@ -1,6 +1,6 @@
1
1
  import { GestureHandlerStateEvent, GestureHandlerTouchEvent, GestureState, HandlerType, Manager } from '@nativescript-community/gesturehandler';
2
2
  import { Matrix } from '@nativescript-community/ui-canvas';
3
- import { Trace } from '@nativescript/core';
3
+ import { Trace, isIOS } from '@nativescript/core';
4
4
  import { CLog, CLogTypes } from '../utils/Utils';
5
5
  import { ChartGesture, ChartTouchListener } from './ChartTouchListener';
6
6
  const LOG_TAG = 'BarLineChartTouchListener';
@@ -31,6 +31,11 @@ export class BarLineChartTouchListener extends ChartTouchListener {
31
31
  this.mTouchPointCenter = { x: 0, y: 0 };
32
32
  this.mSavedXDist = 1;
33
33
  this.mSavedYDist = 1;
34
+ // the pan keeps running when a pinch ends with one finger still down: its translation
35
+ // is relative to the pan start, so drag must restart from the matrix the pinch left
36
+ this.mPanRebase = false;
37
+ this.mPanOriginX = 0;
38
+ this.mPanOriginY = 0;
34
39
  this.mDecelerationVelocity = { x: 0, y: 0 };
35
40
  this.mMatrix = touchMatrix;
36
41
  this.TAP_HANDLER_TAG = TAP_HANDLER_TAG++;
@@ -104,12 +109,15 @@ export class BarLineChartTouchListener extends ChartTouchListener {
104
109
  }
105
110
  const panOptions = this.getPanGestureOptions();
106
111
  const pinchOptions = this.getPinchGestureOptions();
112
+ // iOS: the wheel/trackpad scrolls the chart too (Mac Catalyst), see shouldStartPan
113
+ const scrollOptions = isIOS ? { allowedScrollTypes: 3, shouldStartGesture: this.shouldStartPan.bind(this) } : {};
107
114
  this.panGestureHandler = manager
108
115
  .createGestureHandler(HandlerType.PAN, panOptions.gestureTag, {
109
116
  simultaneousHandlers: [pinchOptions.gestureTag],
110
117
  minPointers: 1,
111
118
  maxPointers: 2,
112
119
  shouldCancelWhenOutside: false,
120
+ ...scrollOptions,
113
121
  ...panOptions
114
122
  })
115
123
  .on(GestureHandlerStateEvent, this.onPanGestureState, this)
@@ -117,6 +125,33 @@ export class BarLineChartTouchListener extends ChartTouchListener {
117
125
  }
118
126
  return this.panGestureHandler;
119
127
  }
128
+ // true when a parent scroll view could use a vertical wheel scroll
129
+ hasVerticalScrollableAncestor() {
130
+ let ancestor = this.chart.nativeViewProtected?.superview;
131
+ while (ancestor) {
132
+ if (ancestor instanceof UIScrollView && ancestor.scrollEnabled) {
133
+ const inset = ancestor.adjustedContentInset;
134
+ if (ancestor.contentSize.height + inset.top + inset.bottom > ancestor.bounds.size.height) {
135
+ return true;
136
+ }
137
+ }
138
+ ancestor = ancestor.superview;
139
+ }
140
+ return false;
141
+ }
142
+ // touches always start a pan. A scroll event (no pointer) only when the chart can be moved,
143
+ // and a vertical one not when a parent scroll view can use it
144
+ shouldStartPan(extraData) {
145
+ if (extraData.numberOfPointers) {
146
+ return true;
147
+ }
148
+ const chart = this.chart;
149
+ if (!chart.dragEnabled || (chart.isFullyZoomedOut() && chart.hasNoDragOffset())) {
150
+ return false;
151
+ }
152
+ const vertical = Math.abs(extraData.translationY) > Math.abs(extraData.translationX);
153
+ return !vertical || !this.hasVerticalScrollableAncestor();
154
+ }
120
155
  setDoubleTap(enabled) {
121
156
  const chart = this.chart;
122
157
  if (enabled) {
@@ -216,14 +251,20 @@ export class BarLineChartTouchListener extends ChartTouchListener {
216
251
  case GestureState.ACTIVE:
217
252
  this.stopDeceleration();
218
253
  this.saveTouchStart(event);
254
+ this.mPanRebase = false;
255
+ this.mPanOriginX = 0;
256
+ this.mPanOriginY = 0;
219
257
  break;
220
258
  case GestureState.END:
221
259
  case GestureState.CANCELLED:
222
260
  if (this.mTouchMode === ChartTouchListener.DRAG) {
223
261
  this.mTouchMode = ChartTouchListener.NONE;
224
262
  this.stopDeceleration();
225
- this.mDecelerationVelocity.x = event.data.extraData.velocityX;
226
- this.mDecelerationVelocity.y = event.data.extraData.velocityY;
263
+ const extraData = event.data.extraData;
264
+ // like the drag, a wheel scroll moves the chart horizontally
265
+ const isScroll = !extraData.numberOfPointers;
266
+ this.mDecelerationVelocity.x = isScroll ? extraData.velocityX + extraData.velocityY : extraData.velocityX;
267
+ this.mDecelerationVelocity.y = isScroll ? 0 : extraData.velocityY;
227
268
  chart.invalidate();
228
269
  }
229
270
  break;
@@ -242,19 +283,28 @@ export class BarLineChartTouchListener extends ChartTouchListener {
242
283
  chart.notify({ eventName: 'pan', data: event.data, object: chart });
243
284
  }
244
285
  chart.disableScroll();
245
- const x = event.data.extraData.translationX;
246
- const y = event.data.extraData.translationY;
286
+ const extraData = event.data.extraData;
287
+ // a wheel only gives vertical deltas, which move the chart horizontally
288
+ const isScroll = !extraData.numberOfPointers;
289
+ const x = isScroll ? extraData.translationX + extraData.translationY : extraData.translationX - this.mPanOriginX;
290
+ const y = isScroll ? 0 : extraData.translationY - this.mPanOriginY;
247
291
  this.performDrag(event, x, y);
248
292
  this.mMatrix = chart.viewPortHandler.refresh(this.mMatrix, chart, true);
249
293
  }
250
294
  else if (this.mTouchMode === ChartTouchListener.NONE) {
251
- const shouldPan = (!chart.isFullyZoomedOut() || !chart.hasNoDragOffset()) && (!chart.zoomedPanWith2Pointers || event.data.extraData.numberOfPointers === 2);
295
+ const shouldPan = (!chart.isFullyZoomedOut() || !chart.hasNoDragOffset()) && (!chart.zoomedPanWith2Pointers || event.data.extraData.numberOfPointers === 2 || !event.data.extraData.numberOfPointers);
252
296
  if (shouldPan) {
253
297
  // Disable dragging in a direction that's disallowed
254
298
  if (chart.dragXEnabled && chart.dragYEnabled) {
255
299
  chart.disableScroll();
256
300
  this.mLastGesture = ChartGesture.DRAG;
257
301
  this.mTouchMode = ChartTouchListener.DRAG;
302
+ if (this.mPanRebase) {
303
+ this.mPanRebase = false;
304
+ this.saveTouchStart(event);
305
+ this.mPanOriginX = event.data.extraData.translationX;
306
+ this.mPanOriginY = event.data.extraData.translationY;
307
+ }
258
308
  }
259
309
  }
260
310
  else {
@@ -302,6 +352,7 @@ export class BarLineChartTouchListener extends ChartTouchListener {
302
352
  this.mTouchMode === ChartTouchListener.PINCH_ZOOM ||
303
353
  this.mTouchMode === ChartTouchListener.POST_ZOOM) {
304
354
  this.mTouchMode = ChartTouchListener.NONE;
355
+ this.mPanRebase = true;
305
356
  // Range might have changed, which means that Y-axis labels
306
357
  // could have changed in size, affecting Y-axis size.
307
358
  // So we need to recalculate offsets.
@@ -1 +1 @@
1
- {"version":3,"file":"BarLineChartTouchListener.js","sourceRoot":"","sources":["../../../src/ui-chart/listener/BarLineChartTouchListener.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BarLineChartTouchListener.js","sourceRoot":"","sources":["../../../src/ui-chart/listener/BarLineChartTouchListener.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.29",
3
+ "version": "2.0.31",
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": "e5884ef4846a63d07315164c43a5521cb11d5205"
57
+ "gitHead": "dc80c46669c17be98acffd00dc149407ea6097d8"
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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"}