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:40:01 UTC
[incubator-echarts] 02/04: ts: enable Event check for Eventful
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