Skip to content

Commit 89149ca

Browse files
committed
Updated chart def and apex.
1 parent a5d10b4 commit 89149ca

6 files changed

Lines changed: 42 additions & 58 deletions

File tree

package-lock.json

Lines changed: 11 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "data-forge-plot",
3-
"version": "0.3.2",
3+
"version": "0.3.3",
44
"description": "Plotting API for use with Data-Forge.",
55
"main": "build/index.js",
66
"types": "build/index.d.ts",
@@ -34,8 +34,8 @@
3434
},
3535
"homepage": "https://github.com/data-forge/data-forge-plot#readme",
3636
"dependencies": {
37-
"@data-forge-plot/apex": "0.0.31",
38-
"@data-forge-plot/chart-def": "^1.0.9",
37+
"@data-forge-plot/apex": "0.0.33",
38+
"@data-forge-plot/chart-def": "^1.1.1",
3939
"@data-forge/serialization": "^1.0.0",
4040
"capture-template": "^1.1.10",
4141
"inflate-template": "^1.1.6",

src/expand-chart-def.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { IChartDef, IPlotConfig as IExpandedPlotConfig, IAxisMap as IExpandedAxisMap, ChartType, IAxisConfig as IExpandedAxisConfig, IYAxisConfig as IExpandedYAxisConfig, IAxisSeriesConfig as IExpandedAxisSeriesConfig, IYAxisSeriesConfig as IExpandedYAxisSeriesConfig } from "@data-forge-plot/chart-def";
1+
import { IChartDef, IPlotConfig as IExpandedPlotConfig, IAxisMap as IExpandedAxisMap, ChartType, IAxisConfig as IExpandedAxisConfig, IYAxisConfig as IExpandedYAxisConfig, IXAxisConfig as IExpandedXAxisConfig, IAxisSeriesConfig as IExpandedAxisSeriesConfig, IYAxisSeriesConfig as IExpandedYAxisSeriesConfig } from "@data-forge-plot/chart-def";
22
import { IAxisMap, IPlotConfig, IAxisConfig, IYAxisConfig, IAxisSeriesConfig, IYAxisSeriesConfig } from "./chart-def";
33
import { ISerializedDataFrame } from "@data-forge/serialization";
44
import { isString } from "./utils";
@@ -19,6 +19,11 @@ export function expandAxisConfig(axisConfig: IAxisConfig): IExpandedAxisConfig {
1919
return expandedAxisConfig;
2020
}
2121

22+
export function expandXAxisConfig(axisConfig: IYAxisConfig): IExpandedXAxisConfig {
23+
const expandedAxisConfig = expandAxisConfig(axisConfig);
24+
return expandedAxisConfig;
25+
}
26+
2227
export function expandYAxisConfig(axisConfig: IYAxisConfig): IExpandedYAxisConfig {
2328
const expandedAxisConfig = expandAxisConfig(axisConfig);
2429
return expandedAxisConfig;

src/plot-api.ts

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { exportTemplate, IExportOptions } from "inflate-template";
55
import { captureImage, ICaptureOptions } from "capture-template";
66
import { IPlotConfig, IAxisMap } from "./chart-def";
77
import { isObject } from "./utils";
8-
import { ChartType, IChartDef, AxisType, HorizontalLabelPosition, VerticalLabelPosition, IAxisConfig, IYAxisSeriesConfig, IAxisSeriesConfig } from "@data-forge-plot/chart-def";
8+
import { ChartType, IChartDef, AxisType, HorizontalLabelPosition, VerticalLabelPosition, IAxisConfig, IYAxisSeriesConfig, IAxisSeriesConfig, IXAxisConfig, IYAxisConfig } from "@data-forge-plot/chart-def";
99
import { expandChartDef } from "./expand-chart-def";
1010
import { applyDefaults } from "./apply-defaults";
1111

@@ -169,11 +169,6 @@ export interface IAxisConfigAPI<FluentT> extends IPlotAPI {
169169
* Set the label for the axis.
170170
*/
171171
label(label: string): FluentT;
172-
173-
/**
174-
* Set the type of the axis.
175-
*/
176-
type(axisType: AxisType): FluentT;
177172
}
178173

179174
/**
@@ -220,6 +215,11 @@ export interface IXAxisConfigAPI extends IAxisConfigAPI<IXAxisConfigAPI> {
220215
*/
221216
setSeries(seriesName: string): IXAxisSeriesConfigAPI;
222217

218+
/**
219+
* Set the type of the axis.
220+
*/
221+
type(axisType: AxisType): IXAxisSeriesConfigAPI;
222+
223223
/**
224224
* Set the position for the label.
225225
*/
@@ -577,7 +577,7 @@ class YAxisSeriesConfigAPI extends AxisSeriesConfigAPI<YAxisSeriesConfigAPI, IYA
577577
/**
578578
* Fluent API for configuring an axis of the chart.
579579
*/
580-
abstract class AxisConfigAPI<FluentT, AxisMapT> extends AbstractPlotAPI implements IAxisConfigAPI<FluentT> {
580+
abstract class AxisConfigAPI<FluentT, AxisConfigT extends IAxisConfig> extends AbstractPlotAPI implements IAxisConfigAPI<FluentT> {
581581

582582
/**
583583
* The name of the axis being configured.
@@ -587,11 +587,11 @@ abstract class AxisConfigAPI<FluentT, AxisMapT> extends AbstractPlotAPI implemen
587587
/**
588588
* Configuration for the axis.
589589
*/
590-
protected axisConfig: IAxisConfig;
590+
protected axisConfig: AxisConfigT;
591591

592592
constructor(
593593
axisName: string,
594-
axisConfig: IAxisConfig,
594+
axisConfig: AxisConfigT,
595595
chartDef: IChartDef
596596
) {
597597
super(chartDef);
@@ -613,25 +613,18 @@ abstract class AxisConfigAPI<FluentT, AxisMapT> extends AbstractPlotAPI implemen
613613
return this as any as FluentT;
614614
}
615615

616-
/**
617-
* Set the type of the axis.
618-
*/
619-
type(axisType: AxisType): FluentT {
620-
this.axisConfig.axisType = axisType;
621-
return this as any as FluentT;
622-
}
623616
}
624617

625618
/**
626619
* Fluent API for configuring an axis of the chart.
627620
*/
628-
class XAxisConfigAPI extends AxisConfigAPI<IXAxisConfigAPI, IAxisConfig> implements IXAxisConfigAPI {
621+
class XAxisConfigAPI extends AxisConfigAPI<IXAxisConfigAPI, IXAxisConfig> implements IXAxisConfigAPI {
629622

630623
createSeriesConfig: (seriesName: string) => IAxisSeriesConfig;
631624

632625
constructor(
633626
axisName: string,
634-
axisConfig: IAxisConfig,
627+
axisConfig: IXAxisConfig,
635628
createSeriesConfig: (seriesName: string) => IAxisSeriesConfig,
636629
chartDef: IChartDef
637630
) {
@@ -651,6 +644,14 @@ class XAxisConfigAPI extends AxisConfigAPI<IXAxisConfigAPI, IAxisConfig> impleme
651644
);
652645
}
653646

647+
/**
648+
* Set the type of the axis.
649+
*/
650+
type(axisType: AxisType): IXAxisSeriesConfigAPI {
651+
this.axisConfig.axisType = axisType;
652+
return this as any as IXAxisSeriesConfigAPI;
653+
}
654+
654655
/**
655656
* Set the position for the label.
656657
*/
@@ -668,13 +669,13 @@ class XAxisConfigAPI extends AxisConfigAPI<IXAxisConfigAPI, IAxisConfig> impleme
668669
/**
669670
* Fluent API for configuring an axis of the chart.
670671
*/
671-
class YAxisConfigAPI extends AxisConfigAPI<IYAxisConfigAPI, IYAxisSeriesConfig> implements IYAxisConfigAPI {
672+
class YAxisConfigAPI extends AxisConfigAPI<IYAxisConfigAPI, IYAxisConfig> implements IYAxisConfigAPI {
672673

673674
createSeriesConfig: (seriesName: string) => IYAxisSeriesConfig;
674675

675676
constructor(
676677
axisName: string,
677-
axisConfig: IAxisConfig,
678+
axisConfig: IYAxisConfig,
678679
createSeriesConfig: (seriesName: string) => IYAxisSeriesConfig,
679680
chartDef: IChartDef
680681
) {

src/test/expand-chart-def.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ describe("expand chart def", () => {
163163
it("can expand axis config", () => {
164164

165165
const xConfig = { axisType: AxisType.Category };
166-
const yConfig = { axisType: AxisType.Indexed };
166+
const yConfig = { axisType: AxisType.Numerical };
167167
const y2Config = { axisType: AxisType.Timeseries };
168168
const expanded = expandChartDef({} as any, { x: xConfig, y: yConfig, y2: y2Config }, {});
169169
expect(expanded.plotConfig.x).not.toBe(xConfig);

src/test/plot-api.test.ts

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -375,17 +375,6 @@ describe("plot-api", () => {
375375
expect(serialized.plotConfig.y!.label!.position).toBe(VerticalLabelPosition.OuterMiddle);
376376
});
377377

378-
it("can set y axis type", () => {
379-
const data: any = {};
380-
const plotConfig: IPlotConfig = {};
381-
const axisMap: IAxisMap = {};
382-
const plot = new PlotAPI(data, plotConfig, axisMap)
383-
.y()
384-
.type(AxisType.Timeseries);
385-
const serialized = plot.serialize();
386-
expect(serialized.plotConfig.y!.axisType).toBe(AxisType.Timeseries);
387-
});
388-
389378
it("can set y2 axis label", () => {
390379
const data: any = {};
391380
const plotConfig: IPlotConfig = { y2: { label: { text: "A label!" }}};
@@ -429,17 +418,6 @@ describe("plot-api", () => {
429418
expect(serialized.plotConfig.y2!.label!.position).toBe(VerticalLabelPosition.OuterMiddle);
430419
});
431420

432-
it("can set y2 axis type", () => {
433-
const data: any = {};
434-
const plotConfig: IPlotConfig = {};
435-
const axisMap: IAxisMap = {};
436-
const plot = new PlotAPI(data, plotConfig, axisMap)
437-
.y2()
438-
.type(AxisType.Timeseries);
439-
const serialized = plot.serialize();
440-
expect(serialized.plotConfig.y2!.axisType).toBe(AxisType.Timeseries);
441-
});
442-
443421
it("can render image", async () => {
444422
const data: any = {};
445423
const plotConfig: IPlotConfig = { x: { label: { position: HorizontalLabelPosition.OuterRight }}};

0 commit comments

Comments
 (0)