@@ -5,7 +5,7 @@ import { exportTemplate, IExportOptions } from "inflate-template";
55import { captureImage , ICaptureOptions } from "capture-template" ;
66import { IPlotConfig , IAxisMap } from "./chart-def" ;
77import { 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" ;
99import { expandChartDef } from "./expand-chart-def" ;
1010import { 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 ) {
0 commit comments