@@ -51,6 +51,7 @@ import {createSymbol, ECSymbol} from '../../util/symbol';
5151import SeriesModel from '../../model/Series' ;
5252import { createOrUpdatePatternFromDecal } from '../../util/decal' ;
5353import { getECData } from '../../util/innerStore' ;
54+ import Element from 'zrender/src/Element' ;
5455
5556const curry = zrUtil . curry ;
5657const each = zrUtil . each ;
@@ -177,6 +178,7 @@ class LegendView extends ComponentView {
177178 const contentGroup = this . getContentGroup ( ) ;
178179 const legendDrawnMap = zrUtil . createHashMap ( ) ;
179180 const selectMode = legendModel . get ( 'selectedMode' ) ;
181+ const triggerEvent = legendModel . get ( 'triggerEvent' ) ;
180182
181183 const excludeSeriesId : string [ ] = [ ] ;
182184 ecModel . eachRawSeries ( function ( seriesModel ) {
@@ -234,6 +236,11 @@ class LegendView extends ComponentView {
234236 ecData . ssrType = 'legend' ;
235237 } ) ;
236238 }
239+ itemGroup . eachChild ( child => {
240+ if ( triggerEvent ) {
241+ this . packEventData ( child , legendModel , seriesModel , dataIndex , name ) ;
242+ }
243+ } ) ;
237244
238245 legendDrawnMap . set ( name , true ) ;
239246 }
@@ -287,7 +294,11 @@ class LegendView extends ComponentView {
287294 ecData . ssrType = 'legend' ;
288295 } ) ;
289296 }
290-
297+ itemGroup . eachChild ( child => {
298+ if ( triggerEvent ) {
299+ this . packEventData ( child , legendModel , seriesModel , dataIndex , name ) ;
300+ }
301+ } ) ;
291302 legendDrawnMap . set ( name , true ) ;
292303 }
293304
@@ -307,7 +318,22 @@ class LegendView extends ComponentView {
307318 this . _createSelector ( selector , legendModel , api , orient , selectorPosition ) ;
308319 }
309320 }
310-
321+ private packEventData (
322+ el : Element ,
323+ legendModel : LegendModel ,
324+ seriesModel : SeriesModel < SeriesOption & SymbolOptionMixin > ,
325+ dataIndex : number ,
326+ name : string
327+ ) {
328+ const eventData = {
329+ componentType : 'legend' ,
330+ componentIndex : legendModel . componentIndex ,
331+ dataIndex,
332+ value : name ,
333+ seriesIndex : seriesModel . seriesIndex ,
334+ } ;
335+ getECData ( el ) . eventData = eventData ;
336+ } ;
311337 private _createSelector (
312338 selector : LegendSelectorButtonOption [ ] ,
313339 legendModel : LegendModel ,
0 commit comments