You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@echarts.apache.org by sh...@apache.org on 2020/08/16 15:27:03 UTC

[incubator-echarts] branch next updated: fix(type): fix some type errors on exported option declaration.

This is an automated email from the ASF dual-hosted git repository.

shenyi pushed a commit to branch next
in repository https://gitbox.apache.org/repos/asf/incubator-echarts.git


The following commit(s) were added to refs/heads/next by this push:
     new 0c26427  fix(type): fix some type errors on exported option declaration.
0c26427 is described below

commit 0c264276a35f87d24f7b15188827b2f763e82bb9
Author: pissang <bm...@gmail.com>
AuthorDate: Sun Aug 16 23:26:05 2020 +0800

    fix(type): fix some type errors on exported option declaration.
---
 src/chart/effectScatter/EffectScatterSeries.ts |  2 +-
 src/chart/gauge/GaugeSeries.ts                 |  2 +-
 src/chart/graph/GraphSeries.ts                 |  8 +--
 src/chart/pie/PieSeries.ts                     |  2 +-
 src/chart/sankey/SankeySeries.ts               |  2 +-
 src/chart/themeRiver/ThemeRiverSeries.ts       |  4 +-
 src/component/toolbox/feature/DataView.ts      |  2 +-
 src/component/toolbox/feature/DataZoom.ts      |  2 +-
 src/coord/single/AxisModel.ts                  |  2 +-
 src/loading/default.ts                         |  2 +-
 src/option.ts                                  | 78 ++++++++++++++++++--------
 11 files changed, 69 insertions(+), 37 deletions(-)

diff --git a/src/chart/effectScatter/EffectScatterSeries.ts b/src/chart/effectScatter/EffectScatterSeries.ts
index 9c1d60e..9814e50 100644
--- a/src/chart/effectScatter/EffectScatterSeries.ts
+++ b/src/chart/effectScatter/EffectScatterSeries.ts
@@ -74,7 +74,7 @@ export interface EffectScatterSeriesOption extends SeriesOption<EffectScatterSta
      */
     rippleEffect?: SymbolDrawItemModelOption['rippleEffect']
 
-    data?: (EffectScatterDataItemOption | OptionDataValue)[]
+    data?: (EffectScatterDataItemOption | ScatterDataValue)[]
 }
 class EffectScatterSeriesModel extends SeriesModel<EffectScatterSeriesOption> {
     static readonly type = 'series.effectScatter';
diff --git a/src/chart/gauge/GaugeSeries.ts b/src/chart/gauge/GaugeSeries.ts
index 18c8fb8..5910081 100644
--- a/src/chart/gauge/GaugeSeries.ts
+++ b/src/chart/gauge/GaugeSeries.ts
@@ -120,7 +120,7 @@ export interface GaugeSeriesOption extends SeriesOption<GaugeStateOption>, Gauge
         formatter?: LabelFormatter | string
     }
 
-    data?: OptionDataValueNumeric | GaugeDataItemOption
+    data?: (OptionDataValueNumeric | GaugeDataItemOption)[]
 }
 
 class GaugeSeriesModel extends SeriesModel<GaugeSeriesOption> {
diff --git a/src/chart/graph/GraphSeries.ts b/src/chart/graph/GraphSeries.ts
index 2be92d6..9cac9cf 100644
--- a/src/chart/graph/GraphSeries.ts
+++ b/src/chart/graph/GraphSeries.ts
@@ -56,7 +56,7 @@ import { LineDataVisual } from '../../visual/commonVisualTypes';
 type GraphDataValue = OptionDataValue | OptionDataValue[];
 
 interface GraphEdgeLineStyleOption extends LineStyleOption {
-    curveness: number
+    curveness?: number
 }
 
 export interface GraphNodeStateOption {
@@ -149,8 +149,8 @@ export interface GraphSeriesOption extends SeriesOption,
 
     layout?: 'none' | 'force' | 'circular'
 
-    data?: GraphNodeItemOption[]
-    nodes?: GraphNodeItemOption[]
+    data?: (GraphNodeItemOption | GraphDataValue)[]
+    nodes?: (GraphNodeItemOption | GraphDataValue)[]
 
     edges?: GraphEdgeItemOption[]
     links?: GraphEdgeItemOption[]
@@ -275,7 +275,7 @@ class GraphSeriesModel extends SeriesModel<GraphSeriesOption> {
         const self = this;
 
         if (nodes && edges) {
-            return createGraphFromNodeEdge(nodes, edges, this, true, beforeLink).data;
+            return createGraphFromNodeEdge(nodes as GraphNodeItemOption[], edges, this, true, beforeLink).data;
         }
 
         function beforeLink(nodeData: List, edgeData: List) {
diff --git a/src/chart/pie/PieSeries.ts b/src/chart/pie/PieSeries.ts
index f74b045..994e130 100644
--- a/src/chart/pie/PieSeries.ts
+++ b/src/chart/pie/PieSeries.ts
@@ -82,7 +82,7 @@ export interface PieSeriesOption extends
     BoxLayoutOptionMixin,
     SeriesEncodeOptionMixin {
 
-    type: 'pie'
+    type?: 'pie'
 
     roseType?: 'radius' | 'area'
 
diff --git a/src/chart/sankey/SankeySeries.ts b/src/chart/sankey/SankeySeries.ts
index c0ff8f9..08428f2 100644
--- a/src/chart/sankey/SankeySeries.ts
+++ b/src/chart/sankey/SankeySeries.ts
@@ -86,7 +86,7 @@ export interface SankeyEdgeItemOption extends
     focusNodeAdjacency?: FocusNodeAdjacency
 }
 
-export interface SankeyLevelOption {
+export interface SankeyLevelOption extends SankeyNodeStateOption, SankeyEdgeStateOption {
     depth: number
 }
 
diff --git a/src/chart/themeRiver/ThemeRiverSeries.ts b/src/chart/themeRiver/ThemeRiverSeries.ts
index acc41f2..3b97a25 100644
--- a/src/chart/themeRiver/ThemeRiverSeries.ts
+++ b/src/chart/themeRiver/ThemeRiverSeries.ts
@@ -57,12 +57,12 @@ export interface ThemeRiverSeriesOption extends SeriesOption<ThemeRiverStateOpti
 
     color?: ZRColor[]
 
-    coordinateSystem: 'singleAxis'
+    coordinateSystem?: 'singleAxis'
 
     /**
      * gap in axis's orthogonal orientation
      */
-    boundaryGap: (string | number)[]
+    boundaryGap?: (string | number)[]
     /**
      * [date, value, name]
      */
diff --git a/src/component/toolbox/feature/DataView.ts b/src/component/toolbox/feature/DataView.ts
index 3181c25..e1bc674 100644
--- a/src/component/toolbox/feature/DataView.ts
+++ b/src/component/toolbox/feature/DataView.ts
@@ -281,7 +281,7 @@ function parseContents(str: string, blockMetaList: SeriesGroupMeta[]) {
     return newOption;
 }
 
-interface ToolboxDataViewFeatureOption extends ToolboxFeatureOption {
+export interface ToolboxDataViewFeatureOption extends ToolboxFeatureOption {
     readOnly?: boolean
 
     optionToContent?: (option: ECUnitOption) => string | HTMLElement
diff --git a/src/component/toolbox/feature/DataZoom.ts b/src/component/toolbox/feature/DataZoom.ts
index e36f2c3..26e5a2a 100644
--- a/src/component/toolbox/feature/DataZoom.ts
+++ b/src/component/toolbox/feature/DataZoom.ts
@@ -57,7 +57,7 @@ const DATA_ZOOM_ID_BASE = makeInternalComponentId('toolbox-dataZoom_');
 const ICON_TYPES = ['zoom', 'back'] as const;
 type IconType = typeof ICON_TYPES[number];
 
-interface ToolboxDataZoomFeatureOption extends ToolboxFeatureOption {
+export interface ToolboxDataZoomFeatureOption extends ToolboxFeatureOption {
     type?: IconType[]
     icon?: {[key in IconType]?: string}
     title?: {[key in IconType]?: string}
diff --git a/src/coord/single/AxisModel.ts b/src/coord/single/AxisModel.ts
index fcd729c..31fb2e1 100644
--- a/src/coord/single/AxisModel.ts
+++ b/src/coord/single/AxisModel.ts
@@ -31,7 +31,7 @@ export type SingleAxisPosition = 'top' | 'bottom' | 'left' | 'right';
 
 export interface SingleAxisOption extends AxisBaseOption, BoxLayoutOptionMixin {
     position?: SingleAxisPosition
-    orient: LayoutOrient
+    orient?: LayoutOrient
 }
 
 class SingleAxisModel extends ComponentModel<SingleAxisOption>
diff --git a/src/loading/default.ts b/src/loading/default.ts
index b2da98b..e1944ea 100644
--- a/src/loading/default.ts
+++ b/src/loading/default.ts
@@ -54,7 +54,7 @@ export default function (
         fontSize: '12px',
         maskColor: 'rgba(255, 255, 255, 0.8)',
         showSpinner: true,
-        color: '#c23531',
+        color: '#5470c6',
         spinnerRadius: 10,
         lineWidth: 5,
         zlevel: 0
diff --git a/src/option.ts b/src/option.ts
index 3465fc9..863f6b0 100644
--- a/src/option.ts
+++ b/src/option.ts
@@ -49,6 +49,7 @@ import type {PiecewiseVisualMapOption} from './component/visualMap/PiecewiseMode
 import type {LineSeriesOption} from './chart/line/LineSeries';
 import type {BarSeriesOption} from './chart/bar/BarSeries';
 import type {ScatterSeriesOption} from './chart/scatter/ScatterSeries';
+import type {PieSeriesOption} from './chart/pie/PieSeries';
 import type {RadarSeriesOption} from './chart/radar/RadarSeries';
 import type {MapSeriesOption} from './chart/map/MapSeries';
 import type {TreeSeriesOption} from './chart/tree/TreeSeries';
@@ -67,8 +68,55 @@ import type {PictorialBarSeriesOption} from './chart/bar/PictorialBarSeries';
 import type {ThemeRiverSeriesOption} from './chart/themeRiver/ThemeRiverSeries';
 import type {SunburstSeriesOption} from './chart/sunburst/SunburstSeries';
 import type {CustomSeriesOption} from './chart/custom';
+
+import {ToolboxBrushFeatureOption} from './component/toolbox/feature/Brush';
+import {ToolboxDataViewFeatureOption} from './component/toolbox/feature/DataView';
+import {ToolboxDataZoomFeatureOption} from './component/toolbox/feature/DataZoom';
+import {ToolboxMagicTypeFeatureOption} from './component/toolbox/feature/MagicType';
+import {ToolboxRestoreFeatureOption} from './component/toolbox/feature/Restore';
+import {ToolboxSaveAsImageFeatureOption} from './component/toolbox/feature/SaveAsImage';
+import {ToolboxFeatureOption} from './component/toolbox/featureManager';
+
+
 import { ECOption } from './util/types';
 
+interface ToolboxFullOptionWithFeatures extends ToolboxOption {
+    feature?: {
+        brush?: ToolboxBrushFeatureOption
+        dataView?: ToolboxDataViewFeatureOption
+        dataZoom?: ToolboxDataZoomFeatureOption
+        magicType?: ToolboxMagicTypeFeatureOption
+        restore?: ToolboxRestoreFeatureOption
+        saveAsImage?: ToolboxSaveAsImageFeatureOption
+        // custom feature
+        [key: string]: ToolboxFeatureOption | {
+            [key: string]: any
+        }
+    }
+}
+
+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 EChartsFullOption extends ECOption {
     title?: TitleOption | TitleOption[]
@@ -83,36 +131,20 @@ export interface EChartsFullOption extends ECOption {
     parallel?: ParallelCoordinateSystemOption | ParallelCoordinateSystemOption[]
     parallelAxis?: ParallelAxisOption | ParallelAxisOption[]
     calendar?: CalendarOption | CalendarOption[]
-    toolbox?: ToolboxOption | ToolboxOption[]
+    toolbox?: ToolboxFullOptionWithFeatures | ToolboxFullOptionWithFeatures[]
     tooltip?: TooltipOption | TooltipOption[]
     axisPointer?: AxisPointerOption | AxisPointerOption[]
     brush?: BrushOption | BrushOption[]
     timeline?: TimelineOption | SliderTimelineOption
     legend?: LegendOption | ScrollableLegendOption | (LegendOption | ScrollableLegendOption)[]
     dataZoom?: SliderDataZoomOption | InsideDataZoomOption | (SliderDataZoomOption | InsideDataZoomOption)[]
-    visualMap?: (ContinousVisualMapOption | PiecewiseVisualMapOption)[]
+    visualMap?: ContinousVisualMapOption | PiecewiseVisualMapOption
+        | (ContinousVisualMapOption | PiecewiseVisualMapOption)[]
 
-    series?: (LineSeriesOption
-        | BarSeriesOption
-        | ScatterSeriesOption
-        | RadarSeriesOption
-        | MapSeriesOption
-        | TreeSeriesOption
-        | TreemapSeriesOption
-        | GraphSeriesOption
-        | GaugeSeriesOption
-        | FunnelSeriesOption
-        | ParallelSeriesOption
-        | SankeySeriesOption
-        | BoxplotSeriesOption
-        | CandlestickSeriesOption
-        | EffectScatterSeriesOption
-        | LinesSeriesOption
-        | HeatmapSeriesOption
-        | PictorialBarSeriesOption
-        | ThemeRiverSeriesOption
-        | SunburstSeriesOption
-        | CustomSeriesOption)[]
+    // 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?: EChartsFullOption[]
     baseOption?: EChartsFullOption


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org
For additional commands, e-mail: commits-help@echarts.apache.org