You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@echarts.apache.org by su...@apache.org on 2020/03/17 00:39:59 UTC
[incubator-echarts] branch typescript updated (cd55149 -> a869e33)
This is an automated email from the ASF dual-hosted git repository.
sushuang pushed a change to branch typescript
in repository https://gitbox.apache.org/repos/asf/incubator-echarts.git.
from cd55149 ts: add types for treemap series
new 765ded9 fix: tweak compile fail.
new cb8cade ts: enable Event check for Eventful
new b996076 ts: typo
new a869e33 ts: add and unify defaultOption inheritance.
The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
src/chart/bar/BarSeries.ts | 5 +++--
src/chart/bar/PictorialBarSeries.ts | 5 +++--
src/chart/radar/RadarView.ts | 5 +++--
src/component/axisPointer/globalListener.ts | 2 +-
src/component/dataZoom/InsideZoomModel.ts | 5 +++--
src/component/dataZoom/SliderZoomModel.ts | 5 +++--
src/component/dataZoom/roams.ts | 7 +++----
src/component/helper/RoamController.ts | 4 ++--
src/component/legend/ScrollableLegendModel.ts | 5 ++---
src/component/visualMap/ContinuousModel.ts | 5 ++---
src/component/visualMap/PiecewiseModel.ts | 5 ++---
src/coord/axisHelper.ts | 6 ++++--
src/echarts.ts | 17 ++++++-----------
src/model/Component.ts | 6 +++---
src/util/component.ts | 5 +++++
src/util/model.ts | 6 ------
16 files changed, 45 insertions(+), 48 deletions(-)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org
For additional commands, e-mail: commits-help@echarts.apache.org
[incubator-echarts] 04/04: ts: add and unify defaultOption
inheritance.
Posted by su...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
sushuang pushed a commit to branch typescript
in repository https://gitbox.apache.org/repos/asf/incubator-echarts.git
commit a869e3385738e0e70586562dda25dad54e1f0103
Author: 100pah <su...@gmail.com>
AuthorDate: Tue Mar 17 08:38:52 2020 +0800
ts: add and unify defaultOption inheritance.
---
src/chart/bar/BarSeries.ts | 5 +++--
src/chart/bar/PictorialBarSeries.ts | 5 +++--
src/component/dataZoom/InsideZoomModel.ts | 5 +++--
src/component/dataZoom/SliderZoomModel.ts | 5 +++--
src/component/legend/ScrollableLegendModel.ts | 5 ++---
src/component/visualMap/ContinuousModel.ts | 5 ++---
src/component/visualMap/PiecewiseModel.ts | 5 ++---
src/model/Component.ts | 6 +++---
src/util/component.ts | 5 +++++
src/util/model.ts | 6 ------
10 files changed, 26 insertions(+), 26 deletions(-)
diff --git a/src/chart/bar/BarSeries.ts b/src/chart/bar/BarSeries.ts
index 7f756c9..50c8653 100644
--- a/src/chart/bar/BarSeries.ts
+++ b/src/chart/bar/BarSeries.ts
@@ -22,6 +22,7 @@ import SeriesModel from '../../model/Series';
import { ItemStyleOption, OptionDataValue, LabelOption, SeriesStackOptionMixin } from '../../util/types';
import type Cartesian2D from '../../coord/cartesian/Cartesian2D';
import type Polar from '../../coord/polar/Polar';
+import { inheritDefaultOption } from '../../util/component';
type BarDataValue = OptionDataValue | OptionDataValue[]
@@ -112,7 +113,7 @@ class BarSeriesModel extends BaseBarSeriesModel<BarSeriesOption> {
return progressiveThreshold;
}
- static defaultOption: BarSeriesOption = {
+ static defaultOption: BarSeriesOption = inheritDefaultOption(BaseBarSeriesModel.defaultOption, {
// If clipped
// Only available on cartesian2d
clip: true,
@@ -132,7 +133,7 @@ class BarSeriesModel extends BaseBarSeriesModel<BarSeriesOption> {
shadowOffsetY: 0,
opacity: 1
}
- }
+ });
}
diff --git a/src/chart/bar/PictorialBarSeries.ts b/src/chart/bar/PictorialBarSeries.ts
index b09dfb4..92eae94 100644
--- a/src/chart/bar/PictorialBarSeries.ts
+++ b/src/chart/bar/PictorialBarSeries.ts
@@ -27,6 +27,7 @@ import {
SeriesStackOptionMixin
} from '../../util/types';
import type Cartesian2D from '../../coord/cartesian/Cartesian2D';
+import { inheritDefaultOption } from '../../util/component';
interface PictorialBarSeriesSymbolOption {
/**
@@ -123,7 +124,7 @@ class PictorialBarSeriesModel extends BaseBarSeriesModel<PictorialBarSeriesOptio
coordinateSystem: Cartesian2D
- static defaultOption: PictorialBarSeriesOption = {
+ static defaultOption: PictorialBarSeriesOption = inheritDefaultOption(BaseBarSeriesModel.defaultOption, {
symbol: 'circle', // Customized bar shape
symbolSize: null, //
@@ -146,7 +147,7 @@ class PictorialBarSeriesModel extends BaseBarSeriesModel<PictorialBarSeriesOptio
// Disable progressive
progressive: 0,
hoverAnimation: false // Open only when needed.
- }
+ });
getInitialData(option: PictorialBarSeriesOption) {
// Disable stack.
diff --git a/src/component/dataZoom/InsideZoomModel.ts b/src/component/dataZoom/InsideZoomModel.ts
index 2a67dd4..c9880ac 100644
--- a/src/component/dataZoom/InsideZoomModel.ts
+++ b/src/component/dataZoom/InsideZoomModel.ts
@@ -19,6 +19,7 @@
import DataZoomModel, {DataZoomOption} from './DataZoomModel';
import ComponentModel from '../../model/Component';
+import { inheritDefaultOption } from '../../util/component';
interface InsideDataZoomOption extends DataZoomOption {
@@ -51,14 +52,14 @@ class InsideZoomModel extends DataZoomModel<InsideDataZoomOption> {
static readonly type = 'dataZoom.inside'
type = InsideZoomModel.type
- static defaultOption: InsideDataZoomOption = {
+ static defaultOption: InsideDataZoomOption = inheritDefaultOption(DataZoomModel.defaultOption, {
disabled: false,
zoomLock: false,
zoomOnMouseWheel: true,
moveOnMouseMove: true,
moveOnMouseWheel: false,
preventDefaultMouseMove: true
- }
+ });
}
ComponentModel.registerClass(InsideZoomModel);
diff --git a/src/component/dataZoom/SliderZoomModel.ts b/src/component/dataZoom/SliderZoomModel.ts
index bed625b..67948a1 100644
--- a/src/component/dataZoom/SliderZoomModel.ts
+++ b/src/component/dataZoom/SliderZoomModel.ts
@@ -27,6 +27,7 @@ import {
ItemStyleOption,
LabelOption
} from '../../util/types';
+import { inheritDefaultOption } from '../../util/component';
interface SliderDataZoomOption extends DataZoomOption, BoxLayoutOptionMixin {
@@ -96,7 +97,7 @@ class SliderZoomModel extends DataZoomModel<SliderDataZoomOption> {
static readonly layoutMode = 'box'
- static defaultOption: SliderDataZoomOption = {
+ static defaultOption: SliderDataZoomOption = inheritDefaultOption(DataZoomModel.defaultOption, {
show: true,
// deault value can only be drived in view stage.
@@ -141,7 +142,7 @@ class SliderZoomModel extends DataZoomModel<SliderDataZoomOption> {
textStyle: {
color: '#333'
}
- }
+ });
}
ComponentModel.registerClass(SliderZoomModel);
diff --git a/src/component/legend/ScrollableLegendModel.ts b/src/component/legend/ScrollableLegendModel.ts
index 04bf2ed..e4c2d4e 100644
--- a/src/component/legend/ScrollableLegendModel.ts
+++ b/src/component/legend/ScrollableLegendModel.ts
@@ -27,6 +27,7 @@ import Model from '../../model/Model';
import ComponentModel from '../../model/Component';
import GlobalModel from '../../model/Global';
import * as zrUtil from 'zrender/src/core/util';
+import { inheritDefaultOption } from '../../util/component';
export interface ScrollableLegendOption extends LegendOption {
scrollDataIndex?: number
@@ -86,9 +87,7 @@ class ScrollableLegendModel extends LegendModel<ScrollableLegendOption> {
mergeAndNormalizeLayoutParams(this, this.option, option);
}
- static defaultOption: ScrollableLegendOption = zrUtil.merge(
- zrUtil.clone(LegendModel.defaultOption),
- {
+ static defaultOption: ScrollableLegendOption = inheritDefaultOption(LegendModel.defaultOption, {
scrollDataIndex: 0,
pageButtonItemGap: 5,
pageButtonGap: null,
diff --git a/src/component/visualMap/ContinuousModel.ts b/src/component/visualMap/ContinuousModel.ts
index 85bdff1..17bc3d1 100644
--- a/src/component/visualMap/ContinuousModel.ts
+++ b/src/component/visualMap/ContinuousModel.ts
@@ -22,6 +22,7 @@ import VisualMapModel, { VisualMapOption, VisualMeta } from './VisualMapModel';
import * as numberUtil from '../../util/number';
import ComponentModel from '../../model/Component';
import { VisualMappingOption } from '../../visual/VisualMapping';
+import { inheritDefaultOption } from '../../util/component';
// Constant
var DEFAULT_BAR_BOUND = [20, 140];
@@ -259,9 +260,7 @@ class ContinuousModel extends VisualMapModel<ContinousVisualMapOption> {
};
}
- static defaultOption = zrUtil.merge(
- zrUtil.clone(VisualMapModel.defaultOption),
- {
+ static defaultOption = inheritDefaultOption(VisualMapModel.defaultOption, {
align: 'auto', // 'auto', 'left', 'right', 'top', 'bottom'
calculable: false,
hoverLink: true
diff --git a/src/component/visualMap/PiecewiseModel.ts b/src/component/visualMap/PiecewiseModel.ts
index a156c86..af8f21d 100644
--- a/src/component/visualMap/PiecewiseModel.ts
+++ b/src/component/visualMap/PiecewiseModel.ts
@@ -26,6 +26,7 @@ import {reformIntervals} from '../../util/number';
import { VisualOptionPiecewise, BuiltinVisualProperty } from '../../util/types';
import { Dictionary } from 'zrender/src/core/types';
import ComponentModel from '../../model/Component';
+import { inheritDefaultOption } from '../../util/component';
interface VisualPiece extends VisualOptionPiecewise {
@@ -408,9 +409,7 @@ class PiecewiseModel extends VisualMapModel<PiecewiseVisualMapOption> {
}
- static defaultOption = zrUtil.merge(
- zrUtil.clone(VisualMapModel.defaultOption),
- {
+ static defaultOption = inheritDefaultOption(VisualMapModel.defaultOption, {
selected: null,
minOpen: false, // Whether include values that smaller than `min`.
maxOpen: false, // Whether include values that bigger than `max`.
diff --git a/src/model/Component.ts b/src/model/Component.ts
index ada5ac9..9c910f1 100644
--- a/src/model/Component.ts
+++ b/src/model/Component.ts
@@ -194,15 +194,15 @@ class ComponentModel<Opt extends ComponentOption = ComponentOption> extends Mode
* Component.registerClass(XxxModel);
* ```
* ```ts
- * import {mergeOption} from '../model/util';
+ * import {inheritDefaultOption} from '../util/component';
* import {XxxModel, XxxOption} from './XxxModel';
* export interface XxxSubOption extends XxxOption {
* bbb: number
* }
* class XxxSubModel extends XxxModel {
- * readonly defaultOption: XxxSubOption = mergeOption({
+ * static defaultOption: XxxSubOption = inheritDefaultOption(XxxModel.defaultOption, {
* bbb: 456
- * }, XxxModel.prototype.defaultOption)
+ * })
* fn() {
* var opt = this.getDefaultOption();
* // opt is {aaa: 123, bbb: 456}
diff --git a/src/util/component.ts b/src/util/component.ts
index c1b3855..8a54d4c 100644
--- a/src/util/component.ts
+++ b/src/util/component.ts
@@ -216,3 +216,8 @@ export function enableTopologicalTravel<T>(
}
}
+
+export function inheritDefaultOption<T, K>(superOption: T, subOption: K): K {
+ // See also `model/Component.ts#getDefaultOption`
+ return zrUtil.merge(zrUtil.merge({}, superOption, true), subOption, true);
+}
diff --git a/src/util/model.ts b/src/util/model.ts
index be9e3e9..e9f3f71 100644
--- a/src/util/model.ts
+++ b/src/util/model.ts
@@ -21,7 +21,6 @@ import {
each,
isObject,
isArray,
- merge,
createHashMap,
HashMap,
map,
@@ -669,8 +668,3 @@ export function groupData<T, R extends string | number>(
buckets: buckets
};
}
-
-export function mergeOption<T, K>(option1: T, option2: K): T & K {
- // See also `model/Component.ts#getDefaultOption`
- return merge(merge({}, option1, true), option2, true);
-}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org
For additional commands, e-mail: commits-help@echarts.apache.org
[incubator-echarts] 03/04: ts: typo
Posted by su...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
sushuang pushed a commit to branch typescript
in repository https://gitbox.apache.org/repos/asf/incubator-echarts.git
commit b996076439d8c066d1c1644ddae67de23af5879c
Author: 100pah <su...@gmail.com>
AuthorDate: Tue Mar 17 08:37:46 2020 +0800
ts: typo
---
src/coord/axisHelper.ts | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/coord/axisHelper.ts b/src/coord/axisHelper.ts
index 1b2f341..88b5f3a 100644
--- a/src/coord/axisHelper.ts
+++ b/src/coord/axisHelper.ts
@@ -74,8 +74,10 @@ export function getScaleExtent(scale: Scale, model: AxisBaseModel) {
boundaryGapInner = [0, 0];
}
else {
- boundaryGapInner[0] = numberUtil.parsePercent(boundaryGapArr[0], 1);
- boundaryGapInner[1] = numberUtil.parsePercent(boundaryGapArr[1], 1);
+ boundaryGapInner = [
+ numberUtil.parsePercent(boundaryGapArr[0], 1),
+ numberUtil.parsePercent(boundaryGapArr[1], 1)
+ ];
}
span = (originalExtent[1] - originalExtent[0])
|| Math.abs(originalExtent[0]);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org
For additional commands, e-mail: commits-help@echarts.apache.org
[incubator-echarts] 02/04: ts: enable Event check for Eventful
Posted by su...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
sushuang pushed a commit to branch typescript
in repository https://gitbox.apache.org/repos/asf/incubator-echarts.git
commit cb8cadec39e49545f3583f6c61229b538ff19fb4
Author: 100pah <su...@gmail.com>
AuthorDate: Tue Mar 17 08:37:34 2020 +0800
ts: enable Event check for Eventful
---
src/component/axisPointer/globalListener.ts | 2 +-
src/component/dataZoom/roams.ts | 7 +++----
src/component/helper/RoamController.ts | 4 ++--
src/echarts.ts | 17 ++++++-----------
4 files changed, 12 insertions(+), 18 deletions(-)
diff --git a/src/component/axisPointer/globalListener.ts b/src/component/axisPointer/globalListener.ts
index ca665d8..e0b03a2 100644
--- a/src/component/axisPointer/globalListener.ts
+++ b/src/component/axisPointer/globalListener.ts
@@ -96,7 +96,7 @@ function initGlobalListeners(zr: ZRenderType, api?: ExtensionAPI) {
eventType: string,
cb: (record: Record, e: ZRElementEvent, dispatchAction: DispatchActionMethod) => void
) {
- zr.on(eventType, function (e) {
+ zr.on(eventType, function (e: ZRElementEvent) {
var dis = makeDispatchAction(api);
each(inner(zr).records, function (record) {
diff --git a/src/component/dataZoom/roams.ts b/src/component/dataZoom/roams.ts
index d0a86b6..d8d1948 100644
--- a/src/component/dataZoom/roams.ts
+++ b/src/component/dataZoom/roams.ts
@@ -27,7 +27,6 @@ import RoamController, { RoamType, RoamEventParams } from '../../component/helpe
import * as throttleUtil from '../../util/throttle';
import { makeInner } from '../../util/model';
import { Dictionary, ZRElementEvent } from '../../util/types';
-import DataZoomModel from './DataZoomModel';
import ExtensionAPI from '../../ExtensionAPI';
import InsideZoomModel from './InsideZoomModel';
import { each, indexOf, curry, Curry1 } from 'zrender/src/core/util';
@@ -44,7 +43,7 @@ interface DataZoomInfo {
zoom: (controller: RoamController, e: RoamEventParams['zoom']) => [number, number]
scrollMove: (controller: RoamController, e: RoamEventParams['scrollMove']) => [number, number]
}
- dataZoomModel: DataZoomModel
+ dataZoomModel: InsideZoomModel
}
interface Record {
// key is dataZoomId
@@ -150,8 +149,8 @@ function createController(api: ExtensionAPI, newRecord: Record) {
return;
}
- var method = (info.getRange || {})[eventName];
- var range = method && method(newRecord.controller, event);
+ var method = (info.getRange || {} as DataZoomInfo['getRange'])[eventName];
+ var range = method && method(newRecord.controller, event as any);
!(info.dataZoomModel as InsideZoomModel).get('disabled', true) && range && batch.push({
dataZoomId: info.dataZoomId,
diff --git a/src/component/helper/RoamController.ts b/src/component/helper/RoamController.ts
index 7b317ed..31a5294 100644
--- a/src/component/helper/RoamController.ts
+++ b/src/component/helper/RoamController.ts
@@ -39,7 +39,7 @@ interface RoamOption {
preventDefaultMouseMove?: boolean
}
-type RoamEventType = 'zoom' | 'scrollMove' | 'pan'
+type RoamEventType = keyof RoamEventParams;
type RoamBehavior = 'zoomOnMouseWheel' | 'moveOnMouseMove' | 'moveOnMouseWheel'
@@ -79,7 +79,7 @@ export interface RoamControllerHost {
}
}
-class RoamController extends Eventful {
+class RoamController extends Eventful<RoamEventParams> {
pointerChecker: (e: ZRElementEvent, x: number, y: number) => boolean
diff --git a/src/echarts.ts b/src/echarts.ts
index fb5ba37..3eefe16 100644
--- a/src/echarts.ts
+++ b/src/echarts.ts
@@ -168,7 +168,7 @@ messageCenterProto.off = createRegisterEventWithLowercaseMessageCenter('off');
// messageCenterProto.one = createRegisterEventWithLowercaseMessageCenter('one');
-class ECharts {
+class ECharts extends Eventful {
/**
* @readonly
@@ -210,7 +210,7 @@ class ECharts {
// Can't dispatch action during rendering procedure
private _pendingActions: Payload[] = [];
- private _ecEventProcessor: ECEventProcessor;
+ protected _$eventProcessor: ECEventProcessor;
private _disposed: boolean;
@@ -232,6 +232,8 @@ class ECharts {
height?: number
}
) {
+ super(new ECEventProcessor());
+
opts = opts || {};
// Get theme by name
@@ -276,9 +278,6 @@ class ECharts {
this._scheduler = new Scheduler(this, api, dataProcessorFuncs, visualFuncs);
- this._ecEventProcessor = new ECEventProcessor();
- Eventful.call(this, this._ecEventProcessor);
-
this._messageCenter = new MessageCenter();
// Init mouse events
@@ -825,7 +824,7 @@ class ECharts {
params.event = e;
params.type = eveName;
- this._ecEventProcessor.eventInfo = {
+ this._$eventProcessor.eventInfo = {
targetEl: el,
packedEvent: params,
model: model,
@@ -1741,7 +1740,7 @@ class ECharts {
}
each(eventActionMap, function (actionType, eventType) {
- chart._messageCenter.on(eventType, function (event) {
+ chart._messageCenter.on(eventType, function (event: ECEvent) {
if (connectedGroups[chart.group] && chart[CONNECT_STATUS_KEY] !== CONNECT_STATUS_PENDING) {
if (event && event.escapeConnect) {
return;
@@ -1815,10 +1814,6 @@ var createExtensionAPI: (ecIns: ECharts) => ExtensionAPI;
var enableConnect: (chart: ECharts) => void;
-
-interface ECharts extends Eventful {}
-zrUtil.mixin(ECharts, Eventful);
-
var echartsProto = ECharts.prototype;
echartsProto.on = createRegisterEventWithLowercaseECharts('on');
echartsProto.off = createRegisterEventWithLowercaseECharts('off');
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org
For additional commands, e-mail: commits-help@echarts.apache.org
[incubator-echarts] 01/04: fix: tweak compile fail.
Posted by su...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
sushuang pushed a commit to branch typescript
in repository https://gitbox.apache.org/repos/asf/incubator-echarts.git
commit 765ded9bbd9699d8e59c089726c963a43ede3b02
Author: 100pah <su...@gmail.com>
AuthorDate: Tue Mar 17 05:14:18 2020 +0800
fix: tweak compile fail.
---
src/chart/radar/RadarView.ts | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/chart/radar/RadarView.ts b/src/chart/radar/RadarView.ts
index d3233e3..63a8a29 100644
--- a/src/chart/radar/RadarView.ts
+++ b/src/chart/radar/RadarView.ts
@@ -26,6 +26,7 @@ import ExtensionAPI from '../../ExtensionAPI';
import List from '../../data/List';
import { ZRColor, DisplayState, ECElement } from '../../util/types';
import GlobalModel from '../../model/Global';
+import { VectorArray } from 'zrender/src/core/vector';
function normalizeSymbolSize(symbolSize: number | number[]) {
if (!zrUtil.isArray(symbolSize)) {
@@ -74,8 +75,8 @@ class RadarView extends ChartView {
}
function updateSymbols(
- oldPoints: number[][],
- newPoints: number[][],
+ oldPoints: VectorArray[],
+ newPoints: VectorArray[],
symbolGroup: graphic.Group,
data: List<RadarSeriesModel>,
idx: number,
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org
For additional commands, e-mail: commits-help@echarts.apache.org