提交 cb8cadec 编写于 作者: 1 100pah

ts: enable Event check for Eventful

上级 765ded9b
......@@ -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) {
......
......@@ -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,
......
......@@ -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
......
......@@ -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');
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册