blob: 39ac46b4f31e19e9f95481043dddb2750bb8347a [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import type {GridOption as GridComponentOption} from '../coord/cartesian/GridModel';
import type {PolarOption as PolarComponentOption} from '../coord/polar/PolarModel';
import type {RadarOption as RadarComponentOption} from '../coord/radar/RadarModel';
import type {GeoOption as GeoComponentOption} from '../coord/geo/GeoModel';
import type {
RadiusAxisOption as RadiusAxisComponentOption,
AngleAxisOption as AngleAxisComponentOption
} from '../coord/polar/AxisModel';
import type {
XAXisOption as XAXisComponentOption,
YAXisOption as YAXisComponentOption
} from '../coord/cartesian/AxisModel';
import type {SingleAxisOption as SingleAxisComponentOption} from '../coord/single/AxisModel';
import type {ParallelAxisOption as ParallelAxisComponentOption} from '../coord/parallel/AxisModel';
import type {ParallelCoordinateSystemOption as ParallelComponentOption} from '../coord/parallel/ParallelModel';
import type {CalendarOption as CalendarComponentOption} from '../coord/calendar/CalendarModel';
import type {ToolboxOption} from '../component/toolbox/ToolboxModel';
import type {TooltipOption as TooltipComponentOption} from '../component/tooltip/TooltipModel';
import type {AxisPointerOption as AxisPointerComponentOption} from '../component/axisPointer/AxisPointerModel';
import type {BrushOption as BrushComponentOption} from '../component/brush/BrushModel';
import type {TitleOption as TitleComponentOption} from '../component/title/install';
import type {TimelineOption as TimelineComponentOption} from '../component/timeline/TimelineModel';
import type {SliderTimelineOption as TimelineSliderComponentOption} from '../component/timeline/SliderTimelineModel';
import type {LegendOption as PlainLegendComponentOption} from '../component/legend/LegendModel';
import type {
ScrollableLegendOption as ScrollableLegendComponentOption
} from '../component/legend/ScrollableLegendModel';
import type {SliderDataZoomOption as SliderDataZoomComponentOption} from '../component/dataZoom/SliderZoomModel';
import type {InsideDataZoomOption as InsideDataZoomComponentOption} from '../component/dataZoom/InsideZoomModel';
import type {
ContinousVisualMapOption as ContinousVisualMapComponentOption
} from '../component/visualMap/ContinuousModel';
import type {
PiecewiseVisualMapOption as PiecewiseVisualMapComponentOption
} from '../component/visualMap/PiecewiseModel';
import type {MarkLineOption as MarkLineComponentOption} from '../component/marker/MarkLineModel';
import type {MarkPointOption as MarkPointComponentOption} from '../component/marker/MarkPointModel';
import type {MarkAreaOption as MarkAreaComponentOption} from '../component/marker/MarkAreaModel';
import type {LineSeriesOption as LineSeriesOptionInner} from '../chart/line/LineSeries';
import type {BarSeriesOption as BarSeriesOptionInner} from '../chart/bar/BarSeries';
import type {ScatterSeriesOption as ScatterSeriesOptionInner} from '../chart/scatter/ScatterSeries';
import type {PieSeriesOption as PieSeriesOptionInner} from '../chart/pie/PieSeries';
import type {RadarSeriesOption as RadarSeriesOptionInner} from '../chart/radar/RadarSeries';
import type {MapSeriesOption as MapSeriesOptionInner} from '../chart/map/MapSeries';
import type {TreeSeriesOption as TreeSeriesOptionInner} from '../chart/tree/TreeSeries';
import type {TreemapSeriesOption as TreemapSeriesOptionInner} from '../chart/treemap/TreemapSeries';
import type {GraphSeriesOption as GraphSeriesOptionInner} from '../chart/graph/GraphSeries';
import type {GaugeSeriesOption as GaugeSeriesOptionInner} from '../chart/gauge/GaugeSeries';
import type {FunnelSeriesOption as FunnelSeriesOptionInner} from '../chart/funnel/FunnelSeries';
import type {ParallelSeriesOption as ParallelSeriesOptionInner} from '../chart/parallel/ParallelSeries';
import type {SankeySeriesOption as SankeySeriesOptionInner} from '../chart/sankey/SankeySeries';
import type {BoxplotSeriesOption as BoxplotSeriesOptionInner} from '../chart/boxplot/BoxplotSeries';
import type {CandlestickSeriesOption as CandlestickSeriesOptionInner} from '../chart/candlestick/CandlestickSeries';
import type {
EffectScatterSeriesOption as EffectScatterSeriesOptionInner
} from '../chart/effectScatter/EffectScatterSeries';
import type {LinesSeriesOption as LinesSeriesOptionInner} from '../chart/lines/LinesSeries';
import type {HeatmapSeriesOption as HeatmapSeriesOptionInner} from '../chart/heatmap/HeatmapSeries';
import type {PictorialBarSeriesOption as PictorialBarSeriesOptionInner} from '../chart/bar/PictorialBarSeries';
import type {ThemeRiverSeriesOption as ThemeRiverSeriesOptionInner} from '../chart/themeRiver/ThemeRiverSeries';
import type {SunburstSeriesOption as SunburstSeriesOptionInner} from '../chart/sunburst/SunburstSeries';
import type {CustomSeriesOption as CustomSeriesOptionInner} from '../chart/custom/install';
import type { GraphicComponentLooseOption as GraphicComponentOption } from '../component/graphic/install';
import type { DatasetOption as DatasetComponentOption } from '../component/dataset/install';
import type {ToolboxBrushFeatureOption} from '../component/toolbox/feature/Brush';
import type {ToolboxDataViewFeatureOption} from '../component/toolbox/feature/DataView';
import type {ToolboxDataZoomFeatureOption} from '../component/toolbox/feature/DataZoom';
import type {ToolboxMagicTypeFeatureOption} from '../component/toolbox/feature/MagicType';
import type {ToolboxRestoreFeatureOption} from '../component/toolbox/feature/Restore';
import type {ToolboxSaveAsImageFeatureOption} from '../component/toolbox/feature/SaveAsImage';
import type {ToolboxFeatureOption} from '../component/toolbox/featureManager';
import type { ECBasicOption, SeriesTooltipOption, AriaOption as AriaComponentOption } from '../util/types';
interface ToolboxComponentOption extends ToolboxOption {
feature?: {
brush?: ToolboxBrushFeatureOption
dataView?: ToolboxDataViewFeatureOption
dataZoom?: ToolboxDataZoomFeatureOption
magicType?: ToolboxMagicTypeFeatureOption
restore?: ToolboxRestoreFeatureOption
saveAsImage?: ToolboxSaveAsImageFeatureOption
// custom feature
[key: string]: ToolboxFeatureOption | {
[key: string]: any
} | undefined
}
}
export { SliderDataZoomComponentOption, InsideDataZoomComponentOption };
export type DataZoomComponentOption = SliderDataZoomComponentOption | InsideDataZoomComponentOption;
export { ContinousVisualMapComponentOption, PiecewiseVisualMapComponentOption };
export type VisualMapComponentOption = ContinousVisualMapComponentOption | PiecewiseVisualMapComponentOption;
export { PlainLegendComponentOption, ScrollableLegendComponentOption };
export type LegendComponentOption = PlainLegendComponentOption | ScrollableLegendComponentOption;
export {
GridComponentOption,
PolarComponentOption,
RadarComponentOption,
GeoComponentOption,
XAXisComponentOption,
YAXisComponentOption,
SingleAxisComponentOption,
RadiusAxisComponentOption,
AngleAxisComponentOption,
ParallelComponentOption,
CalendarComponentOption,
TooltipComponentOption,
AxisPointerComponentOption,
BrushComponentOption,
TitleComponentOption,
TimelineComponentOption,
MarkLineComponentOption,
MarkPointComponentOption,
MarkAreaComponentOption,
ToolboxComponentOption,
GraphicComponentOption,
AriaComponentOption,
DatasetComponentOption
};
type SeriesInjectedOption = {
// Inject markArea markLine
markArea?: MarkAreaComponentOption
markLine?: MarkLineComponentOption
markPoint?: MarkPointComponentOption
tooltip?: SeriesTooltipOption
};
export type LineSeriesOption = LineSeriesOptionInner & SeriesInjectedOption;
export type BarSeriesOption = BarSeriesOptionInner & SeriesInjectedOption;
export type ScatterSeriesOption = ScatterSeriesOptionInner & SeriesInjectedOption;
export type PieSeriesOption = PieSeriesOptionInner & SeriesInjectedOption;
export type RadarSeriesOption = RadarSeriesOptionInner & SeriesInjectedOption;
export type MapSeriesOption = MapSeriesOptionInner & SeriesInjectedOption;
export type TreeSeriesOption = TreeSeriesOptionInner & SeriesInjectedOption;
export type TreemapSeriesOption = TreemapSeriesOptionInner & SeriesInjectedOption;
export type GraphSeriesOption = GraphSeriesOptionInner & SeriesInjectedOption;
export type GaugeSeriesOption = GaugeSeriesOptionInner & SeriesInjectedOption;
export type FunnelSeriesOption = FunnelSeriesOptionInner & SeriesInjectedOption;
export type ParallelSeriesOption = ParallelSeriesOptionInner & SeriesInjectedOption;
export type SankeySeriesOption = SankeySeriesOptionInner & SeriesInjectedOption;
export type BoxplotSeriesOption = BoxplotSeriesOptionInner & SeriesInjectedOption;
export type CandlestickSeriesOption = CandlestickSeriesOptionInner & SeriesInjectedOption;
export type EffectScatterSeriesOption = EffectScatterSeriesOptionInner & SeriesInjectedOption;
export type LinesSeriesOption = LinesSeriesOptionInner & SeriesInjectedOption;
export type HeatmapSeriesOption = HeatmapSeriesOptionInner & SeriesInjectedOption;
export type PictorialBarSeriesOption = PictorialBarSeriesOptionInner & SeriesInjectedOption;
export type ThemeRiverSeriesOption = ThemeRiverSeriesOptionInner & SeriesInjectedOption;
export type SunburstSeriesOption = SunburstSeriesOptionInner & SeriesInjectedOption;
export type CustomSeriesOption = CustomSeriesOptionInner & SeriesInjectedOption;
export type SeriesOption = LineSeriesOption
| BarSeriesOption
| ScatterSeriesOption
| PieSeriesOption
| RadarSeriesOption
| MapSeriesOption
| TreeSeriesOption
| TreemapSeriesOption
| GraphSeriesOption
| GaugeSeriesOption
| FunnelSeriesOption
| ParallelSeriesOption
| SankeySeriesOption
| BoxplotSeriesOption
| CandlestickSeriesOption
| EffectScatterSeriesOption
| LinesSeriesOption
| HeatmapSeriesOption
| PictorialBarSeriesOption
| ThemeRiverSeriesOption
| SunburstSeriesOption
| CustomSeriesOption;
export interface EChartsOption extends ECBasicOption {
dataset?: DatasetComponentOption | DatasetComponentOption[];
aria?: AriaComponentOption;
title?: TitleComponentOption | TitleComponentOption[];
grid?: GridComponentOption | GridComponentOption[];
radar?: RadarComponentOption | RadarComponentOption[];
polar?: PolarComponentOption | PolarComponentOption[];
geo?: GeoComponentOption | GeoComponentOption[];
angleAxis?: AngleAxisComponentOption | AngleAxisComponentOption[];
radiusAxis?: RadiusAxisComponentOption | RadiusAxisComponentOption[];
xAxis?: XAXisComponentOption | XAXisComponentOption[];
yAxis?: YAXisComponentOption | YAXisComponentOption[];
singleAxis?: SingleAxisComponentOption | SingleAxisComponentOption[];
parallel?: ParallelComponentOption | ParallelComponentOption[];
parallelAxis?: ParallelAxisComponentOption | ParallelAxisComponentOption[];
calendar?: CalendarComponentOption | CalendarComponentOption[];
toolbox?: ToolboxComponentOption | ToolboxComponentOption[];
tooltip?: TooltipComponentOption | TooltipComponentOption[];
axisPointer?: AxisPointerComponentOption | AxisPointerComponentOption[];
brush?: BrushComponentOption | BrushComponentOption[];
timeline?: TimelineComponentOption | TimelineSliderComponentOption;
legend?: LegendComponentOption | (LegendComponentOption)[];
dataZoom?: DataZoomComponentOption | (DataZoomComponentOption)[];
visualMap?: VisualMapComponentOption | (VisualMapComponentOption)[];
graphic?: GraphicComponentOption | GraphicComponentOption[];
// TODO Generally we support specify a single object on series.
// But in practice we found the error hint in monaco editor is not clear if we also support
// single object in type.
series?: SeriesOption | SeriesOption[];
options?: EChartsOption[];
baseOption?: EChartsOption;
}