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 2021/09/09 02:49:06 UTC

[echarts] branch improve-types updated: fix(type): fix some type errors in custom series

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

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


The following commit(s) were added to refs/heads/improve-types by this push:
     new 179b20a  fix(type): fix some type errors in custom series
179b20a is described below

commit 179b20ad52c3a0d9428a0cf93315369b10f39416
Author: pissang <bm...@gmail.com>
AuthorDate: Thu Sep 9 10:48:16 2021 +0800

    fix(type): fix some type errors in custom series
---
 src/chart/custom/CustomSeries.ts | 32 ++++++++++++++++++++++++--------
 src/chart/custom/CustomView.ts   | 18 +++++++++---------
 src/layout/barGrid.ts            | 10 +++++-----
 3 files changed, 38 insertions(+), 22 deletions(-)

diff --git a/src/chart/custom/CustomSeries.ts b/src/chart/custom/CustomSeries.ts
index 2b8bb3c..c34cbdf 100644
--- a/src/chart/custom/CustomSeries.ts
+++ b/src/chart/custom/CustomSeries.ts
@@ -335,13 +335,8 @@ type CustomSeriesRenderItem = (
     api: CustomSeriesRenderItemAPI
 ) => CustomElementOption;
 
-interface CustomSeriesStateOption {
-    itemStyle?: ItemStyleOption;
-    label?: LabelOption;
-}
-
 export interface CustomSeriesOption extends
-    SeriesOption<never>,    // don't support StateOption in custom series.
+    SeriesOption<unknown>,    // don't support StateOption in custom series.
     SeriesEncodeOptionMixin,
     SeriesOnCartesianOptionMixin,
     SeriesOnPolarOptionMixin,
@@ -356,12 +351,33 @@ export interface CustomSeriesOption extends
 
     renderItem?: CustomSeriesRenderItem;
 
+    /**
+     * @deprecated
+     */
+     itemStyle?: ItemStyleOption;
+    /**
+     * @deprecated
+     */
+    label?: LabelOption;
+
+    /**
+     * @deprecated
+     */
+    emphasis?: {
+        /**
+         * @deprecated
+         */
+        itemStyle?: ItemStyleOption;
+        /**
+         * @deprecated
+         */
+        label?: LabelOption;
+    }
+
     // Only works on polar and cartesian2d coordinate system.
     clip?: boolean;
 }
 
-export interface LegacyCustomSeriesOption extends SeriesOption<CustomSeriesStateOption>, CustomSeriesStateOption {}
-
 export const customInnerStore = makeInner<{
     info: CustomExtraElementInfo;
     customPathData: string;
diff --git a/src/chart/custom/CustomView.ts b/src/chart/custom/CustomView.ts
index 1ba6d86..ae042b7 100644
--- a/src/chart/custom/CustomView.ts
+++ b/src/chart/custom/CustomView.ts
@@ -82,7 +82,6 @@ import CustomSeriesModel, {
     CustomDisplayableOption,
     CustomSeriesRenderItemAPI,
     CustomSeriesRenderItemParams,
-    LegacyCustomSeriesOption,
     CustomGroupOption,
     WrapEncodeDefRet,
     NonStyleVisualProps,
@@ -102,6 +101,7 @@ import {
     prepareTransformTransitionFrom
 } from './prepare';
 import { PatternObject } from 'zrender/src/graphic/Pattern';
+import { CustomSeriesOption } from '../../export/option';
 
 const transformPropNamesStr = keys(TRANSFORM_PROPS).join(', ');
 
@@ -879,23 +879,23 @@ function makeRenderItem(
 
     // Do not support call `api` asynchronously without dataIndexInside input.
     let currDataIndexInside: number;
-    let currItemModel: Model<LegacyCustomSeriesOption>;
-    let currItemStyleModels: Partial<Record<DisplayState, Model<LegacyCustomSeriesOption['itemStyle']>>> = {};
-    let currLabelModels: Partial<Record<DisplayState, Model<LegacyCustomSeriesOption['label']>>> = {};
+    let currItemModel: Model<CustomSeriesOption>;
+    let currItemStyleModels: Partial<Record<DisplayState, Model<CustomSeriesOption['itemStyle']>>> = {};
+    let currLabelModels: Partial<Record<DisplayState, Model<CustomSeriesOption['label']>>> = {};
 
-    const seriesItemStyleModels = {} as Record<DisplayState, Model<LegacyCustomSeriesOption['itemStyle']>>;
+    const seriesItemStyleModels = {} as Record<DisplayState, Model<CustomSeriesOption['itemStyle']>>;
 
-    const seriesLabelModels = {} as Record<DisplayState, Model<LegacyCustomSeriesOption['label']>>;
+    const seriesLabelModels = {} as Record<DisplayState, Model<CustomSeriesOption['label']>>;
 
     for (let i = 0; i < STATES.length; i++) {
         const stateName = STATES[i];
-        seriesItemStyleModels[stateName] = (customSeries as Model<LegacyCustomSeriesOption>)
+        seriesItemStyleModels[stateName] = (customSeries as Model<CustomSeriesOption>)
             .getModel(PATH_ITEM_STYLE[stateName]);
-        seriesLabelModels[stateName] = (customSeries as Model<LegacyCustomSeriesOption>)
+        seriesLabelModels[stateName] = (customSeries as Model<CustomSeriesOption>)
             .getModel(PATH_LABEL[stateName]);
     }
 
-    function getItemModel(dataIndexInside: number): Model<LegacyCustomSeriesOption> {
+    function getItemModel(dataIndexInside: number): Model<CustomSeriesOption> {
         return dataIndexInside === currDataIndexInside
             ? (currItemModel || (currItemModel = data.getItemModel(dataIndexInside)))
             : data.getItemModel(dataIndexInside);
diff --git a/src/layout/barGrid.ts b/src/layout/barGrid.ts
index 4a7c908..9c78076 100644
--- a/src/layout/barGrid.ts
+++ b/src/layout/barGrid.ts
@@ -77,11 +77,11 @@ type BarWidthAndOffset = Dictionary<Dictionary<{
 export interface BarGridLayoutOptionForCustomSeries {
     count: number
 
-    barWidth?: number
-    barMaxWidth?: number
-    barMinWidth?: number
-    barGap?: number
-    barCategoryGap?: number
+    barWidth?: number | string
+    barMaxWidth?: number | string
+    barMinWidth?: number | string
+    barGap?: number | string
+    barCategoryGap?: number | string
 }
 interface LayoutOption extends BarGridLayoutOptionForCustomSeries {
     axis: Axis2D

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