From 811041443f019284c362e311670851e504ecf078 Mon Sep 17 00:00:00 2001 From: Samuel Gratzl Date: Mon, 5 Apr 2021 15:32:08 -0400 Subject: [PATCH] feat: fix code changes for chart.js 3.0.0 --- ...ogarithmicParallelCoordinatesController.ts | 3 +++ .../ParallelCoordinatesController.ts | 26 ++++++++++--------- src/elements/LinearAxis.ts | 13 ++++++++++ 3 files changed, 30 insertions(+), 12 deletions(-) diff --git a/src/controllers/LogarithmicParallelCoordinatesController.ts b/src/controllers/LogarithmicParallelCoordinatesController.ts index f28b86f..01ff507 100644 --- a/src/controllers/LogarithmicParallelCoordinatesController.ts +++ b/src/controllers/LogarithmicParallelCoordinatesController.ts @@ -17,8 +17,11 @@ export class LogarithmicParallelCoordinatesController extends ParallelCoordinate static readonly id = 'logarithmicPcp'; static readonly defaults: any = /* #__PURE__ */ { + ...ParallelCoordinatesController.defaults, datasetElementType: LogarithmicAxis.id, }; + + static readonly overrides: any = /* #__PURE__ */ ParallelCoordinatesController.overrides; } export interface ILogarithmicParallelCoordinatesControllerDatasetOptions diff --git a/src/controllers/ParallelCoordinatesController.ts b/src/controllers/ParallelCoordinatesController.ts index 6e05a1f..3881360 100644 --- a/src/controllers/ParallelCoordinatesController.ts +++ b/src/controllers/ParallelCoordinatesController.ts @@ -41,6 +41,11 @@ export class ParallelCoordinatesController extends DatasetController<'pcp', Line ds.yAxisID = ds.label; super.linkScales(); this._cachedMeta.vScale = this._cachedMeta.dataset as any; + this._cachedMeta.vScale = this._cachedMeta.dataset as any; + } + + private resolveAxisOptions(mode: UpdateMode) { + return (this.resolveDatasetElementOptions(mode) as unknown) as ILinearAxisOptions; } addElements(): void { @@ -52,12 +57,11 @@ export class ParallelCoordinatesController extends DatasetController<'pcp', Line Object.assign(scale, { id: meta.yAxisID, - type: this.dataElementType.id, - axis: 'y', + type: this.datasetElementType.id, chart: this.chart, ctx: this.chart.ctx, }); - scale.init({} as any); + scale.init(this.resolveAxisOptions('reset')); } update(mode: UpdateMode): void { @@ -132,8 +136,8 @@ export class ParallelCoordinatesController extends DatasetController<'pcp', Line const x = meta.xScale?.getPixelForTick(metaIndex) ?? 0; const yScale = m.vScale; const y = reset - ? m.yScale?.getBasePixel() - : m.yScale?.getPixelForValue((m._parsed[index] as Record)[yScale?.axis ?? 'y'], index); + ? yScale?.getBasePixel() + : yScale?.getPixelForValue((m._parsed[index] as Record)[yScale?.axis ?? 'y'], index); return { x, @@ -214,12 +218,10 @@ export class ParallelCoordinatesController extends DatasetController<'pcp', Line static readonly defaults: any = /* #__PURE__ */ { datasetElementType: LinearAxis.id, dataElementType: LineSegment.id, - datasets: { - animation: { - numbers: { - type: 'number', - properties: ['x', 'y', 'x1', 'y1', 'axisWidth', 'xCPn', 'yCPn', 'xCPp1', 'yCPp1', 'borderWidth'], - }, + animations: { + numbers: { + type: 'number', + properties: ['x', 'y', 'x1', 'y1', 'axisWidth', 'xCPn', 'yCPn', 'xCPp1', 'yCPp1', 'borderWidth'], }, }, }; @@ -229,7 +231,7 @@ export class ParallelCoordinatesController extends DatasetController<'pcp', Line x: { type: PCPScale.id, offset: true, - gridLines: { + grid: { drawBorder: false, display: false, }, diff --git a/src/elements/LinearAxis.ts b/src/elements/LinearAxis.ts index 12bb1cc..20ff330 100644 --- a/src/elements/LinearAxis.ts +++ b/src/elements/LinearAxis.ts @@ -31,6 +31,7 @@ export interface IAxisProps { } const scaleDefaults = { + axis: 'y', // a dummy scriptable option to enforce a context environment dummyOption: (_ctx: unknown) => 0, axisWidth: 10, @@ -81,6 +82,11 @@ export class LinearAxis extends LinearScale { return r; } + // eslint-disable-next-line class-methods-use-this + _computeLabelArea(): void { + return undefined; + } + draw(c: unknown): void { const ctx = c as CanvasRenderingContext2D; ctx.save(); @@ -112,10 +118,17 @@ export class LogarithmicAxis extends LogarithmicScale { static readonly defaults: any = /* #__PURE__ */ merge({}, [defaults.scale, LogarithmicScale.defaults, scaleDefaults]); + static readonly descriptors = /* #__PURE__ */ LinearAxis.descriptors; + constructor() { super({}); } + // eslint-disable-next-line class-methods-use-this + _computeLabelArea(): void { + return undefined; + } + update(): number { return LinearAxis.prototype.update.call(this); }