From cb8cadec39e49545f3583f6c61229b538ff19fb4 Mon Sep 17 00:00:00 2001 From: 100pah Date: Tue, 17 Mar 2020 08:37:34 +0800 Subject: [PATCH] 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 ca665d896..e0b03a284 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 d0a86b6ad..d8d1948b4 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 7b317edc0..31a5294f3 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 { pointerChecker: (e: ZRElementEvent, x: number, y: number) => boolean diff --git a/src/echarts.ts b/src/echarts.ts index fb5ba3797..3eefe1644 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'); -- GitLab