diff --git a/src/chart/chord/ChordSeries.ts b/src/chart/chord/ChordSeries.ts index 568f5b96d7..39464d113a 100644 --- a/src/chart/chord/ChordSeries.ts +++ b/src/chart/chord/ChordSeries.ts @@ -21,7 +21,8 @@ import { SeriesOption, SeriesOnCartesianOptionMixin, SeriesOnPolarOptionMixin, - SeriesOnCalendarOptionMixin, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin, SeriesOnGeoOptionMixin, SeriesOnSingleOptionMixin, OptionDataValue, @@ -115,7 +116,8 @@ export interface ChordEdgeItemOption extends ChordEdgeStateOption, export interface ChordSeriesOption extends SeriesOption, ChordStatesMixin>, - SeriesOnCartesianOptionMixin, SeriesOnPolarOptionMixin, SeriesOnCalendarOptionMixin, + SeriesOnCartesianOptionMixin, SeriesOnPolarOptionMixin, + ComponentOnCalendarOptionMixin, ComponentOnMatrixOptionMixin, SeriesOnGeoOptionMixin, SeriesOnSingleOptionMixin, SymbolOptionMixin, RoamOptionMixin, diff --git a/src/chart/custom/CustomSeries.ts b/src/chart/custom/CustomSeries.ts index 0b5bb5db34..13e526090f 100644 --- a/src/chart/custom/CustomSeries.ts +++ b/src/chart/custom/CustomSeries.ts @@ -37,7 +37,8 @@ import { ParsedValue, SeriesDataType, SeriesEncodeOptionMixin, - SeriesOnCalendarOptionMixin, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin, SeriesOnCartesianOptionMixin, SeriesOnGeoOptionMixin, SeriesOnPolarOptionMixin, @@ -363,7 +364,8 @@ export interface CustomSeriesOption extends SeriesOnPolarOptionMixin, SeriesOnSingleOptionMixin, SeriesOnGeoOptionMixin, - SeriesOnCalendarOptionMixin { + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin { type?: 'custom' diff --git a/src/chart/effectScatter/EffectScatterSeries.ts b/src/chart/effectScatter/EffectScatterSeries.ts index 72d40f6bca..ae652031be 100644 --- a/src/chart/effectScatter/EffectScatterSeries.ts +++ b/src/chart/effectScatter/EffectScatterSeries.ts @@ -23,7 +23,8 @@ import { SeriesOption, SeriesOnPolarOptionMixin, SeriesOnCartesianOptionMixin, - SeriesOnCalendarOptionMixin, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin, SeriesOnGeoOptionMixin, SeriesOnSingleOptionMixin, SymbolOptionMixin, @@ -66,7 +67,8 @@ export interface EffectScatterDataItemOption extends SymbolOptionMixin, export interface EffectScatterSeriesOption extends SeriesOption, EffectScatterStatesOptionMixin>, EffectScatterStateOption, - SeriesOnCartesianOptionMixin, SeriesOnPolarOptionMixin, SeriesOnCalendarOptionMixin, + SeriesOnCartesianOptionMixin, SeriesOnPolarOptionMixin, + ComponentOnCalendarOptionMixin, ComponentOnMatrixOptionMixin, SeriesOnGeoOptionMixin, SeriesOnSingleOptionMixin, SymbolOptionMixin, SeriesEncodeOptionMixin { diff --git a/src/chart/funnel/FunnelSeries.ts b/src/chart/funnel/FunnelSeries.ts index e53eb9036c..c775b759a5 100644 --- a/src/chart/funnel/FunnelSeries.ts +++ b/src/chart/funnel/FunnelSeries.ts @@ -38,7 +38,9 @@ import { SeriesLabelOption, SeriesEncodeOptionMixin, DefaultStatesMixinEmphasis, - CallbackDataParams + CallbackDataParams, + ComponentOnMatrixOptionMixin, + ComponentOnCalendarOptionMixin } from '../../util/types'; import GlobalModel from '../../model/Global'; import SeriesData from '../../data/SeriesData'; @@ -75,6 +77,7 @@ export interface FunnelDataItemOption export interface FunnelSeriesOption extends SeriesOption, FunnelStatesMixin>, FunnelStateOption, + ComponentOnCalendarOptionMixin, ComponentOnMatrixOptionMixin, BoxLayoutOptionMixin, SeriesEncodeOptionMixin { type?: 'funnel' diff --git a/src/chart/gauge/GaugeSeries.ts b/src/chart/gauge/GaugeSeries.ts index 1d05e31e6e..ff19b5c1e4 100644 --- a/src/chart/gauge/GaugeSeries.ts +++ b/src/chart/gauge/GaugeSeries.ts @@ -30,7 +30,9 @@ import { StatesOptionMixin, SeriesEncodeOptionMixin, DefaultStatesMixinEmphasis, - CallbackDataParams + CallbackDataParams, + ComponentOnMatrixOptionMixin, + ComponentOnCalendarOptionMixin } from '../../util/types'; import GlobalModel from '../../model/Global'; import SeriesData from '../../data/SeriesData'; @@ -123,6 +125,7 @@ export interface GaugeDataItemOption extends GaugeStateOption, } export interface GaugeSeriesOption extends SeriesOption, GaugeStateOption, + ComponentOnCalendarOptionMixin, ComponentOnMatrixOptionMixin, CircleLayoutOptionMixin, SeriesEncodeOptionMixin { type?: 'gauge' diff --git a/src/chart/graph/GraphSeries.ts b/src/chart/graph/GraphSeries.ts index 88aee86d30..0a0e9077a2 100644 --- a/src/chart/graph/GraphSeries.ts +++ b/src/chart/graph/GraphSeries.ts @@ -27,7 +27,8 @@ import { SeriesOption, SeriesOnCartesianOptionMixin, SeriesOnPolarOptionMixin, - SeriesOnCalendarOptionMixin, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin, SeriesOnGeoOptionMixin, SeriesOnSingleOptionMixin, OptionDataValue, @@ -140,7 +141,8 @@ export interface GraphCategoryItemOption extends SymbolOptionMixin, export interface GraphSeriesOption extends SeriesOption, GraphNodeStatesMixin>, - SeriesOnCartesianOptionMixin, SeriesOnPolarOptionMixin, SeriesOnCalendarOptionMixin, + SeriesOnCartesianOptionMixin, SeriesOnPolarOptionMixin, + ComponentOnCalendarOptionMixin, ComponentOnMatrixOptionMixin, SeriesOnGeoOptionMixin, SeriesOnSingleOptionMixin, SymbolOptionMixin, RoamOptionMixin, diff --git a/src/chart/heatmap/HeatmapSeries.ts b/src/chart/heatmap/HeatmapSeries.ts index 84b0a756c5..8d7373e63a 100644 --- a/src/chart/heatmap/HeatmapSeries.ts +++ b/src/chart/heatmap/HeatmapSeries.ts @@ -29,7 +29,8 @@ import { OptionDataValue, StatesOptionMixin, SeriesEncodeOptionMixin, - SeriesOnCalendarOptionMixin, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin, DefaultStatesMixinEmphasis, CallbackDataParams } from '../../util/types'; @@ -64,7 +65,8 @@ export interface HeatmapSeriesOption HeatmapStateOption, SeriesOnCartesianOptionMixin, SeriesOnGeoOptionMixin, - SeriesOnCalendarOptionMixin, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin, SeriesEncodeOptionMixin { type?: 'heatmap' diff --git a/src/chart/lines/LinesSeries.ts b/src/chart/lines/LinesSeries.ts index 2c1fc29c88..c83330edb1 100644 --- a/src/chart/lines/LinesSeries.ts +++ b/src/chart/lines/LinesSeries.ts @@ -28,7 +28,8 @@ import { SeriesOnCartesianOptionMixin, SeriesOnGeoOptionMixin, SeriesOnPolarOptionMixin, - SeriesOnCalendarOptionMixin, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin, SeriesLargeOptionMixin, LineStyleOption, OptionDataValue, @@ -113,7 +114,7 @@ export interface LinesDataItemOption extends LinesStateOption, export interface LinesSeriesOption extends SeriesOption, LinesStateOption, SeriesOnCartesianOptionMixin, SeriesOnGeoOptionMixin, SeriesOnPolarOptionMixin, - SeriesOnCalendarOptionMixin, SeriesLargeOptionMixin { + ComponentOnCalendarOptionMixin, ComponentOnMatrixOptionMixin, SeriesLargeOptionMixin { type?: 'lines' diff --git a/src/chart/map/MapSeries.ts b/src/chart/map/MapSeries.ts index 294c1a57df..90a8299df1 100644 --- a/src/chart/map/MapSeries.ts +++ b/src/chart/map/MapSeries.ts @@ -34,7 +34,9 @@ import { StatesOptionMixin, SeriesLabelOption, StatesMixinBase, - CallbackDataParams + CallbackDataParams, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin } from '../../util/types'; import { Dictionary } from 'zrender/src/core/types'; import GeoModel, { GeoCommonOptionMixin, GeoItemStyleOption } from '../../coord/geo/GeoModel'; @@ -70,6 +72,8 @@ export interface MapSeriesOption extends // created. Otherwise use the specified geo component, and // `map` and `mapType` are ignored. SeriesOnGeoOptionMixin, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin, BoxLayoutOptionMixin, SeriesEncodeOptionMixin { type?: 'map' diff --git a/src/chart/parallel/ParallelSeries.ts b/src/chart/parallel/ParallelSeries.ts index 91546ae293..d2088d19d9 100644 --- a/src/chart/parallel/ParallelSeries.ts +++ b/src/chart/parallel/ParallelSeries.ts @@ -35,7 +35,9 @@ import { OptionEncode, DefaultStatesMixinEmphasis, ZRColor, - CallbackDataParams + CallbackDataParams, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin } from '../../util/types'; import GlobalModel from '../../model/Global'; import SeriesData from '../../data/SeriesData'; @@ -60,6 +62,8 @@ export interface ParallelSeriesDataItemOption extends ParallelStateOption, export interface ParallelSeriesOption extends SeriesOption, ParallelStatesMixin>, ParallelStateOption, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin, SeriesEncodeOptionMixin { type?: 'parallel'; diff --git a/src/chart/pie/PieSeries.ts b/src/chart/pie/PieSeries.ts index e86b645610..0521d00e50 100644 --- a/src/chart/pie/PieSeries.ts +++ b/src/chart/pie/PieSeries.ts @@ -36,7 +36,11 @@ import { OptionDataItemObject, StatesOptionMixin, SeriesLabelOption, - DefaultEmphasisFocus + DefaultEmphasisFocus, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin, + SeriesOnGeoOptionMixin, + SeriesOnCartesianOptionMixin } from '../../util/types'; import type SeriesData from '../../data/SeriesData'; import { registerLayOutOnCoordSysUsage } from '../../core/CoordinateSystem'; @@ -102,6 +106,10 @@ export interface PieSeriesOption extends Omit, ExtraStateOption>, 'labelLine'>, PieStateOption, CircleLayoutOptionMixin<{centerExtra: string | number}>, + SeriesOnGeoOptionMixin, + SeriesOnCartesianOptionMixin, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin, BoxLayoutOptionMixin, SeriesEncodeOptionMixin { diff --git a/src/chart/radar/RadarSeries.ts b/src/chart/radar/RadarSeries.ts index 1405ac074b..2d2a93d5db 100644 --- a/src/chart/radar/RadarSeries.ts +++ b/src/chart/radar/RadarSeries.ts @@ -33,7 +33,8 @@ import { OptionDataItemObject, SeriesEncodeOptionMixin, CallbackDataParams, - DefaultStatesMixinEmphasis + DefaultStatesMixinEmphasis, + SeriesOnRadarOptionMixin } from '../../util/types'; import GlobalModel from '../../model/Global'; import SeriesData from '../../data/SeriesData'; @@ -61,14 +62,11 @@ export interface RadarSeriesDataItemOption extends SymbolOptionMixin, export interface RadarSeriesOption extends SeriesOption, - RadarSeriesStateOption, + RadarSeriesStateOption, SeriesOnRadarOptionMixin, SymbolOptionMixin, SeriesEncodeOptionMixin { type?: 'radar' coordinateSystem?: 'radar' - radarIndex?: number - radarId?: string - data?: (RadarSeriesDataItemOption | RadarSeriesDataValue)[] } diff --git a/src/chart/sankey/SankeySeries.ts b/src/chart/sankey/SankeySeries.ts index 9409f56df6..ebd85227ab 100644 --- a/src/chart/sankey/SankeySeries.ts +++ b/src/chart/sankey/SankeySeries.ts @@ -35,7 +35,9 @@ import { OptionDataValueNumeric, DefaultEmphasisFocus, CallbackDataParams, - RoamOptionMixin + RoamOptionMixin, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin } from '../../util/types'; import GlobalModel from '../../model/Global'; import SeriesData from '../../data/SeriesData'; @@ -99,6 +101,8 @@ export interface SankeySeriesOption extends SeriesOption, ExtraStateOption>, SankeyBothStateOption, BoxLayoutOptionMixin, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin, RoamOptionMixin { type?: 'sankey' diff --git a/src/chart/scatter/ScatterSeries.ts b/src/chart/scatter/ScatterSeries.ts index 9dfe667735..053addcc9e 100644 --- a/src/chart/scatter/ScatterSeries.ts +++ b/src/chart/scatter/ScatterSeries.ts @@ -23,7 +23,8 @@ import { SeriesOption, SeriesOnCartesianOptionMixin, SeriesOnPolarOptionMixin, - SeriesOnCalendarOptionMixin, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin, SeriesOnGeoOptionMixin, SeriesOnSingleOptionMixin, OptionDataValue, @@ -63,7 +64,8 @@ export interface ScatterDataItemOption extends SymbolOptionMixin, export interface ScatterSeriesOption extends SeriesOption, ScatterStatesOptionMixin>, ScatterStateOption, - SeriesOnCartesianOptionMixin, SeriesOnPolarOptionMixin, SeriesOnCalendarOptionMixin, + SeriesOnCartesianOptionMixin, SeriesOnPolarOptionMixin, + ComponentOnCalendarOptionMixin, ComponentOnMatrixOptionMixin, SeriesOnGeoOptionMixin, SeriesOnSingleOptionMixin, SeriesLargeOptionMixin, SeriesStackOptionMixin, SymbolOptionMixin, SeriesEncodeOptionMixin { diff --git a/src/chart/sunburst/SunburstSeries.ts b/src/chart/sunburst/SunburstSeries.ts index f4b8b94324..795b9c5a53 100644 --- a/src/chart/sunburst/SunburstSeries.ts +++ b/src/chart/sunburst/SunburstSeries.ts @@ -31,7 +31,9 @@ import { StatesOptionMixin, OptionDataItemObject, DefaultEmphasisFocus, - SunburstColorByMixin + SunburstColorByMixin, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin } from '../../util/types'; import GlobalModel from '../../model/Global'; import SeriesData from '../../data/SeriesData'; @@ -122,6 +124,8 @@ export interface SunburstSeriesOption extends SeriesOption, SunburstStatesMixin>, SunburstStateOption, SunburstColorByMixin, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin, CircleLayoutOptionMixin { type?: 'sunburst' diff --git a/src/chart/tree/TreeSeries.ts b/src/chart/tree/TreeSeries.ts index c00ce26c9b..6c8826f74b 100644 --- a/src/chart/tree/TreeSeries.ts +++ b/src/chart/tree/TreeSeries.ts @@ -31,7 +31,9 @@ import { StatesOptionMixin, OptionDataItemObject, CallbackDataParams, - DefaultEmphasisFocus + DefaultEmphasisFocus, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin } from '../../util/types'; import SeriesData from '../../data/SeriesData'; import View from '../../coord/View'; @@ -83,6 +85,7 @@ export interface TreeSeriesLeavesOption export interface TreeSeriesOption extends SeriesOption, TreeSeriesStateOption, + ComponentOnCalendarOptionMixin, ComponentOnMatrixOptionMixin, SymbolOptionMixin, BoxLayoutOptionMixin, RoamOptionMixin { type?: 'tree' diff --git a/src/chart/treemap/TreemapSeries.ts b/src/chart/treemap/TreemapSeries.ts index 9776d40684..4618ec464a 100644 --- a/src/chart/treemap/TreemapSeries.ts +++ b/src/chart/treemap/TreemapSeries.ts @@ -37,7 +37,9 @@ import { SeriesLabelOption, DefaultEmphasisFocus, AriaOptionMixin, - BlurScope + BlurScope, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin } from '../../util/types'; import GlobalModel from '../../model/Global'; import { LayoutRect } from '../../util/layout'; @@ -153,6 +155,8 @@ export interface TreemapSeriesNodeItemOption extends TreemapSeriesVisualOption, export interface TreemapSeriesOption extends SeriesOption, ExtraStateOption>, TreemapStateOption, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin, BoxLayoutOptionMixin, RoamOptionMixin, TreemapSeriesVisualOption { diff --git a/src/component/dataZoom/DataZoomModel.ts b/src/component/dataZoom/DataZoomModel.ts index 0fd8d78015..279c06a13b 100644 --- a/src/component/dataZoom/DataZoomModel.ts +++ b/src/component/dataZoom/DataZoomModel.ts @@ -32,7 +32,7 @@ import { getAxisMainType, DATA_ZOOM_AXIS_DIMENSIONS, DataZoomAxisDimension } from './helper'; import SingleAxisModel from '../../coord/single/AxisModel'; -import { MULTIPLE_REFERRING, SINGLE_REFERRING } from '../../util/model'; +import { MULTIPLE_REFERRING, SINGLE_REFERRING, ModelFinderIndexQuery, ModelFinderIdQuery } from '../../util/model'; export interface DataZoomOption extends ComponentOption { @@ -47,22 +47,22 @@ export interface DataZoomOption extends ComponentOption { /** * Default the first horizontal category axis. */ - xAxisIndex?: number | number[] - xAxisId?: string | string[] + xAxisIndex?: ModelFinderIndexQuery + xAxisId?: ModelFinderIdQuery /** * Default the first vertical category axis. */ - yAxisIndex?: number | number[] - yAxisId?: string | string[] + yAxisIndex?: ModelFinderIndexQuery + yAxisId?: ModelFinderIdQuery - radiusAxisIndex?: number | number[] - radiusAxisId?: string | string[] - angleAxisIndex?: number | number[] - angleAxisId?: string | string[] + radiusAxisIndex?: ModelFinderIndexQuery + radiusAxisId?: ModelFinderIdQuery + angleAxisIndex?: ModelFinderIndexQuery + angleAxisId?: ModelFinderIdQuery - singleAxisIndex?: number | number[] - singleAxisId?: string | string[] + singleAxisIndex?: ModelFinderIndexQuery + singleAxisId?: ModelFinderIdQuery /** * Possible values: 'filter' or 'empty' or 'weakFilter'. diff --git a/src/component/dataZoom/SliderZoomModel.ts b/src/component/dataZoom/SliderZoomModel.ts index 75c9d51ea6..aa6e744bcf 100644 --- a/src/component/dataZoom/SliderZoomModel.ts +++ b/src/component/dataZoom/SliderZoomModel.ts @@ -24,7 +24,9 @@ import { LineStyleOption, AreaStyleOption, ItemStyleOption, - LabelOption + LabelOption, + ComponentOnMatrixOptionMixin, + ComponentOnCalendarOptionMixin } from '../../util/types'; import { inheritDefaultOption } from '../../util/component'; import tokens from '../../visual/tokens'; @@ -33,7 +35,9 @@ interface SliderHandleLabelOption { show?: boolean } -export interface SliderDataZoomOption extends DataZoomOption, BoxLayoutOptionMixin { +export interface SliderDataZoomOption + extends DataZoomOption, BoxLayoutOptionMixin, + ComponentOnCalendarOptionMixin, ComponentOnMatrixOptionMixin { show?: boolean /** diff --git a/src/component/legend/LegendModel.ts b/src/component/legend/LegendModel.ts index 3a62a26b12..e03fe26f89 100644 --- a/src/component/legend/LegendModel.ts +++ b/src/component/legend/LegendModel.ts @@ -30,7 +30,9 @@ import { LayoutOrient, CommonTooltipOption, ItemStyleOption, - LineStyleOption + LineStyleOption, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin } from '../../util/types'; import { Dictionary } from 'zrender/src/core/types'; import GlobalModel from '../../model/Global'; @@ -158,8 +160,8 @@ export interface LegendSymbolStyleOption { } export interface LegendOption extends ComponentOption, LegendStyleOption, - BoxLayoutOptionMixin, BorderOptionMixin -{ + BoxLayoutOptionMixin, BorderOptionMixin, + ComponentOnCalendarOptionMixin, ComponentOnMatrixOptionMixin { mainType?: 'legend' diff --git a/src/component/thumbnail/ThumbnailModel.ts b/src/component/thumbnail/ThumbnailModel.ts index 7f480dc5ac..1086bcf340 100644 --- a/src/component/thumbnail/ThumbnailModel.ts +++ b/src/component/thumbnail/ThumbnailModel.ts @@ -20,7 +20,8 @@ import ComponentModel from '../../model/Component'; import { error } from '../../util/log'; import { - BorderOptionMixin, BoxLayoutOptionMixin, ComponentOption, ItemStyleOption, NullUndefined, + BoxLayoutOptionMixin, ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin, ComponentOption, ItemStyleOption, NullUndefined, } from '../../util/types'; import tokens from '../../visual/tokens'; import { @@ -37,7 +38,10 @@ import { ThumbnailBridgeImpl } from './ThumbnailBridgeImpl'; // TODO: currently only graph supports thumbnail. // May need some refactor if serving new components in future. -export interface ThumbnailOption extends ComponentOption, BoxLayoutOptionMixin, BorderOptionMixin { +export interface ThumbnailOption extends + ComponentOption, BoxLayoutOptionMixin, + ComponentOnCalendarOptionMixin, ComponentOnMatrixOptionMixin { + mainType?: 'thumbnail' show?: boolean diff --git a/src/component/timeline/TimelineModel.ts b/src/component/timeline/TimelineModel.ts index 3027dcedc0..d366589d99 100644 --- a/src/component/timeline/TimelineModel.ts +++ b/src/component/timeline/TimelineModel.ts @@ -32,7 +32,9 @@ import { ColorString, CommonTooltipOption, CallbackDataParams, - ZREasing + ZREasing, + ComponentOnMatrixOptionMixin, + ComponentOnCalendarOptionMixin } from '../../util/types'; import Model from '../../model/Model'; import GlobalModel, { GlobalModelSetOptionOpts } from '../../model/Global'; @@ -102,7 +104,10 @@ export interface TimelineDataItemOption extends SymbolOptionMixin { tooltip?: boolean } -export interface TimelineOption extends ComponentOption, BoxLayoutOptionMixin, SymbolOptionMixin { +export interface TimelineOption extends ComponentOption, + ComponentOnCalendarOptionMixin, ComponentOnMatrixOptionMixin, + BoxLayoutOptionMixin, SymbolOptionMixin { + mainType?: 'timeline' backgroundColor?: ZRColor diff --git a/src/component/title/install.ts b/src/component/title/install.ts index d127ad0464..7e96acf9c1 100644 --- a/src/component/title/install.ts +++ b/src/component/title/install.ts @@ -30,7 +30,9 @@ import { ZRTextVerticalAlign, ZRColor, BorderOptionMixin, - LabelOption + LabelOption, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin } from '../../util/types'; import ComponentView from '../../view/Component'; import GlobalModel from '../../model/Global'; @@ -43,7 +45,9 @@ interface TitleTextStyleOption extends LabelOption { width?: number } -export interface TitleOption extends ComponentOption, BoxLayoutOptionMixin, BorderOptionMixin { +export interface TitleOption extends + ComponentOption, BoxLayoutOptionMixin, BorderOptionMixin, + ComponentOnCalendarOptionMixin, ComponentOnMatrixOptionMixin { mainType?: 'title' diff --git a/src/component/toolbox/ToolboxModel.ts b/src/component/toolbox/ToolboxModel.ts index ba3786f01e..5ddfa89a38 100644 --- a/src/component/toolbox/ToolboxModel.ts +++ b/src/component/toolbox/ToolboxModel.ts @@ -29,7 +29,9 @@ import { ItemStyleOption, LabelOption, CommonTooltipOption, - Dictionary + Dictionary, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin } from '../../util/types'; import tokens from '../../visual/tokens'; @@ -40,9 +42,13 @@ export interface ToolboxTooltipFormatterParams { title: string $vars: ['name', 'title'] } -export interface ToolboxOption extends ComponentOption, +export interface ToolboxOption extends + ComponentOption, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin, BoxLayoutOptionMixin, BorderOptionMixin { + mainType?: 'toolbox' show?: boolean diff --git a/src/component/visualMap/VisualMapModel.ts b/src/component/visualMap/VisualMapModel.ts index 9139d54e8c..d2756a4a99 100644 --- a/src/component/visualMap/VisualMapModel.ts +++ b/src/component/visualMap/VisualMapModel.ts @@ -33,7 +33,9 @@ import { OptionDataValue, BuiltinVisualProperty, DimensionIndex, - OptionId + OptionId, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin } from '../../util/types'; import ComponentModel from '../../model/Component'; import Model from '../../model/Model'; @@ -56,6 +58,8 @@ type LabelFormatter = (min: OptionDataValue, max?: OptionDataValue) => string; type VisualState = VisualMapModel['stateList'][number]; export interface VisualMapOption extends ComponentOption, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin, BoxLayoutOptionMixin, BorderOptionMixin { @@ -70,8 +74,8 @@ export interface VisualMapOption * 'all' or null/undefined: all series. * A number or an array of number: the specified series. */ - seriesIndex?: 'all' | number[] | number - seriesId?: OptionId | OptionId[] + seriesIndex?: modelUtil.ModelFinderIndexQuery + seriesId?: modelUtil.ModelFinderIdQuery /** * set min: 0, max: 200, only for campatible with ec2. diff --git a/src/coord/View.ts b/src/coord/View.ts index 14935ac3d5..44351c03af 100644 --- a/src/coord/View.ts +++ b/src/coord/View.ts @@ -159,7 +159,7 @@ class View extends Transformable implements CoordinateSystemMaster, CoordinateSy if (opt && opt.api && opt.ecModel && opt.ecModel.getShallow('legacyViewCoordSysCenterBase') && centerCoord) { centerCoord = [ parsePercent(centerCoord[0], opt.api.getWidth()), - parsePercent(centerCoord[1], opt.api.getWidth()) + parsePercent(centerCoord[1], opt.api.getHeight()) ]; } diff --git a/src/coord/axisCommonTypes.ts b/src/coord/axisCommonTypes.ts index 3d22ee7ef0..eee3ab74e3 100644 --- a/src/coord/axisCommonTypes.ts +++ b/src/coord/axisCommonTypes.ts @@ -123,7 +123,7 @@ export interface AxisBaseOptionCommon extends ComponentOption, zigzagAmplitude?: number; zigzagMinSpan?: number; zigzagMaxSpan?: number; - zigzagZ: number; + zigzagZ?: number; expandOnClick?: boolean; }; breakLabelLayout?: { diff --git a/src/coord/cartesian/GridModel.ts b/src/coord/cartesian/GridModel.ts index 5461319b6c..ba8341841b 100644 --- a/src/coord/cartesian/GridModel.ts +++ b/src/coord/cartesian/GridModel.ts @@ -19,7 +19,10 @@ import ComponentModel from '../../model/Component'; -import { ComponentOption, BoxLayoutOptionMixin, ZRColor, ShadowOptionMixin, NullUndefined } from '../../util/types'; +import { + ComponentOption, BoxLayoutOptionMixin, ZRColor, ShadowOptionMixin, NullUndefined, + ComponentOnCalendarOptionMixin, ComponentOnMatrixOptionMixin +} from '../../util/types'; import Grid from './Grid'; import { CoordinateSystemHostModel } from '../CoordinateSystem'; import type GlobalModel from '../../model/Global'; @@ -31,8 +34,9 @@ import tokens from '../../visual/tokens'; export const OUTER_BOUNDS_DEFAULT = {left: 0, right: 0, top: 0, bottom: 0}; export const OUTER_BOUNDS_CLAMP_DEFAULT = ['25%', '25%']; -export interface GridOption - extends ComponentOption, BoxLayoutOptionMixin, ShadowOptionMixin { +export interface GridOption extends ComponentOption, + ComponentOnCalendarOptionMixin, ComponentOnMatrixOptionMixin, + BoxLayoutOptionMixin, ShadowOptionMixin { mainType?: 'grid'; diff --git a/src/coord/geo/GeoModel.ts b/src/coord/geo/GeoModel.ts index 72f0252bd6..a55fcc804d 100644 --- a/src/coord/geo/GeoModel.ts +++ b/src/coord/geo/GeoModel.ts @@ -37,7 +37,9 @@ import { Dictionary, CommonTooltipOption, StatesMixinBase, - PreserveAspectMixin + PreserveAspectMixin, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin } from '../../util/types'; import { GeoProjection, NameMap } from './geoTypes'; import GlobalModel from '../../model/Global'; @@ -81,8 +83,10 @@ export interface GeoTooltipFormatterParams { } export interface GeoCommonOptionMixin extends RoamOptionMixin, PreserveAspectMixin { + // When series.map use an external geo component, all of the properties should not be set. + // Map name - map: string; + map?: string; // Aspect is width / height. Inited to be geoJson bbox aspect // This parameter is used for scale this aspect @@ -119,6 +123,8 @@ export interface GeoCommonOptionMixin extends RoamOptionMixin, PreserveAspectMix export interface GeoOption extends ComponentOption, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin, BoxLayoutOptionMixin, // For lens animation on geo. AnimationOptionMixin, diff --git a/src/coord/matrix/MatrixModel.ts b/src/coord/matrix/MatrixModel.ts index bcaae24bb0..37fb1d5fd0 100644 --- a/src/coord/matrix/MatrixModel.ts +++ b/src/coord/matrix/MatrixModel.ts @@ -169,7 +169,7 @@ export interface MatrixDimensionCellOption extends MatrixBaseCellOption { // Do not use type `OrdinalRawValue` here. Number input is forbiden due to the possible confusion. // e.g., if `matrix.x.data: [1, 2, 3]` is allowed, then querying `coord: [1, null]` will actually get // the second column, since number represents the index (i.e. `MatrixXYLocator` or `OrdinalNumber`). - value?: string; + value?: string | NullUndefined; // column width (for x dimension) or row height (for y dimension). // If not specified (null/undefined), auto calculate it. // Only available on leaves, to avoid unnecessary complex. diff --git a/src/coord/parallel/ParallelModel.ts b/src/coord/parallel/ParallelModel.ts index edbe7c4846..4ca648bb39 100644 --- a/src/coord/parallel/ParallelModel.ts +++ b/src/coord/parallel/ParallelModel.ts @@ -21,7 +21,10 @@ import * as zrUtil from 'zrender/src/core/util'; import ComponentModel from '../../model/Component'; import Parallel from './Parallel'; -import { DimensionName, ComponentOption, BoxLayoutOptionMixin } from '../../util/types'; +import { + DimensionName, ComponentOption, BoxLayoutOptionMixin, ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin +} from '../../util/types'; import ParallelAxisModel, { ParallelAxisOption } from './AxisModel'; import GlobalModel from '../../model/Global'; import ParallelSeriesModel from '../../chart/parallel/ParallelSeries'; @@ -30,7 +33,12 @@ import SeriesModel from '../../model/Series'; export type ParallelLayoutDirection = 'horizontal' | 'vertical'; -export interface ParallelCoordinateSystemOption extends ComponentOption, BoxLayoutOptionMixin { +export interface ParallelCoordinateSystemOption extends + ComponentOption, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin, + BoxLayoutOptionMixin { + mainType?: 'parallel'; layout?: ParallelLayoutDirection; diff --git a/src/coord/polar/PolarModel.ts b/src/coord/polar/PolarModel.ts index 65dc0ebd44..60133aaa7c 100644 --- a/src/coord/polar/PolarModel.ts +++ b/src/coord/polar/PolarModel.ts @@ -17,12 +17,18 @@ * under the License. */ -import { ComponentOption, CircleLayoutOptionMixin } from '../../util/types'; +import { + ComponentOption, CircleLayoutOptionMixin, ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin +} from '../../util/types'; import ComponentModel from '../../model/Component'; import Polar from './Polar'; import { AngleAxisModel, RadiusAxisModel } from './AxisModel'; -export interface PolarOption extends ComponentOption, CircleLayoutOptionMixin { +export interface PolarOption extends + ComponentOption, CircleLayoutOptionMixin, + ComponentOnCalendarOptionMixin, ComponentOnMatrixOptionMixin { + mainType?: 'polar'; } diff --git a/src/coord/radar/RadarModel.ts b/src/coord/radar/RadarModel.ts index 4723a34541..fe9bf9fcbc 100644 --- a/src/coord/radar/RadarModel.ts +++ b/src/coord/radar/RadarModel.ts @@ -26,7 +26,9 @@ import { ComponentOption, CircleLayoutOptionMixin, LabelOption, - ColorString + ColorString, + ComponentOnCalendarOptionMixin, + ComponentOnMatrixOptionMixin } from '../../util/types'; import { AxisBaseOption, CategoryAxisBaseOption, ValueAxisBaseOption } from '../axisCommonTypes'; import { AxisBaseModel } from '../AxisBaseModel'; @@ -55,7 +57,10 @@ export interface RadarIndicatorOption { axisType?: 'value' | 'log' } -export interface RadarOption extends ComponentOption, CircleLayoutOptionMixin { +export interface RadarOption extends + ComponentOption, CircleLayoutOptionMixin, + ComponentOnCalendarOptionMixin, ComponentOnMatrixOptionMixin { + mainType?: 'radar' startAngle?: number diff --git a/src/coord/single/AxisModel.ts b/src/coord/single/AxisModel.ts index 4301959c8f..a65e149c88 100644 --- a/src/coord/single/AxisModel.ts +++ b/src/coord/single/AxisModel.ts @@ -23,7 +23,9 @@ import {AxisModelCommonMixin} from '../axisModelCommonMixin'; import Single from './Single'; import SingleAxis from './SingleAxis'; import { AxisBaseOption } from '../axisCommonTypes'; -import { BoxLayoutOptionMixin, LayoutOrient } from '../../util/types'; +import { + BoxLayoutOptionMixin, ComponentOnCalendarOptionMixin, ComponentOnMatrixOptionMixin, LayoutOrient +} from '../../util/types'; import { AxisBaseModel } from '../AxisBaseModel'; import { mixin } from 'zrender/src/core/util'; @@ -33,7 +35,7 @@ export type SingleAxisOption = AxisBaseOption & BoxLayoutOptionMixin & { mainType?: 'singleAxis' position?: SingleAxisPosition orient?: LayoutOrient -}; +} & ComponentOnCalendarOptionMixin & ComponentOnMatrixOptionMixin; class SingleAxisModel extends ComponentModel implements AxisBaseModel { diff --git a/src/export/option.ts b/src/export/option.ts index 1859271193..a490494e55 100644 --- a/src/export/option.ts +++ b/src/export/option.ts @@ -26,8 +26,11 @@ import type { AngleAxisOption as AngleAxisComponentOption } from '../coord/polar/AxisModel'; import type { + // Historical typo, deprecated but still exported for compatibility. XAXisOption as XAXisComponentOption, - YAXisOption as YAXisComponentOption + YAXisOption as YAXisComponentOption, + 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'; @@ -153,6 +156,8 @@ export { GeoComponentOption, XAXisComponentOption, YAXisComponentOption, + XAxisComponentOption, + YAxisComponentOption, SingleAxisComponentOption, RadiusAxisComponentOption, AngleAxisComponentOption, diff --git a/src/util/model.ts b/src/util/model.ts index ee7637bda9..1b23063cbd 100644 --- a/src/util/model.ts +++ b/src/util/model.ts @@ -767,9 +767,9 @@ let innerUniqueIndex = getRandomIdBase(); * If both `abcIndex`, `abcId`, `abcName` specified, only one work. * The priority is: index > id > name, the same with `ecModel.queryComponents`. */ -export type ModelFinderIndexQuery = number | number[] | 'all' | 'none' | false; -export type ModelFinderIdQuery = OptionId | OptionId[]; -export type ModelFinderNameQuery = OptionId | OptionId[]; +export type ModelFinderIndexQuery = number | number[] | 'all' | 'none' | false | NullUndefined; +export type ModelFinderIdQuery = OptionId | OptionId[] | NullUndefined; +export type ModelFinderNameQuery = OptionId | OptionId[] | NullUndefined; // If string, like 'series', means { seriesIndex: 0 }. export type ModelFinder = string | ModelFinderObject; export type ModelFinderObject = { diff --git a/src/util/types.ts b/src/util/types.ts index 2a37e39a0f..1d6521d51e 100644 --- a/src/util/types.ts +++ b/src/util/types.ts @@ -1946,33 +1946,38 @@ export interface SeriesOnCartesianOptionMixin { xAxisIndex?: number yAxisIndex?: number - xAxisId?: string - yAxisId?: string + xAxisId?: OptionId + yAxisId?: OptionId } export interface SeriesOnPolarOptionMixin { polarIndex?: number - polarId?: string; + polarId?: OptionId; } export interface SeriesOnSingleOptionMixin { singleAxisIndex?: number - singleAxisId?: string + singleAxisId?: OptionId } export interface SeriesOnGeoOptionMixin { geoIndex?: number; - geoId?: string + geoId?: OptionId } -export interface SeriesOnCalendarOptionMixin { +export interface SeriesOnRadarOptionMixin { + radarIndex?: number; + radarId?: OptionId +} + +export interface ComponentOnCalendarOptionMixin { calendarIndex?: number - calendarId?: string + calendarId?: OptionId } export interface ComponentOnMatrixOptionMixin { matrixIndex?: number - matrixId?: string + matrixId?: OptionId } export interface SeriesLargeOptionMixin { diff --git a/test/pie-coordinate-system-amap.html b/test/pie-coordinate-system-amap.html new file mode 100644 index 0000000000..0a5a67f5e6 --- /dev/null +++ b/test/pie-coordinate-system-amap.html @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + +
+ + + + + + + diff --git a/test/pie-coordinate-system-bmap.html b/test/pie-coordinate-system-bmap.html new file mode 100644 index 0000000000..a8be144331 --- /dev/null +++ b/test/pie-coordinate-system-bmap.html @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + +
+ + + + + + diff --git a/test/pie-coordinate-system.html b/test/pie-coordinate-system.html index cdc8bf0073..c44c74bc52 100644 --- a/test/pie-coordinate-system.html +++ b/test/pie-coordinate-system.html @@ -22,8 +22,6 @@ - - @@ -39,10 +37,7 @@
-
-
-
- - -