@@ -51,6 +51,7 @@ import {createSymbol, ECSymbol} from '../../util/symbol';
51
51
import SeriesModel from '../../model/Series' ;
52
52
import { createOrUpdatePatternFromDecal } from '../../util/decal' ;
53
53
import { getECData } from '../../util/innerStore' ;
54
+ import Element from 'zrender/src/Element' ;
54
55
55
56
const curry = zrUtil . curry ;
56
57
const each = zrUtil . each ;
@@ -177,6 +178,7 @@ class LegendView extends ComponentView {
177
178
const contentGroup = this . getContentGroup ( ) ;
178
179
const legendDrawnMap = zrUtil . createHashMap ( ) ;
179
180
const selectMode = legendModel . get ( 'selectedMode' ) ;
181
+ const triggerEvent = legendModel . get ( 'triggerEvent' ) ;
180
182
181
183
const excludeSeriesId : string [ ] = [ ] ;
182
184
ecModel . eachRawSeries ( function ( seriesModel ) {
@@ -234,6 +236,11 @@ class LegendView extends ComponentView {
234
236
ecData . ssrType = 'legend' ;
235
237
} ) ;
236
238
}
239
+ itemGroup . eachChild ( child => {
240
+ if ( triggerEvent ) {
241
+ this . packEventData ( child , legendModel , seriesModel , dataIndex , name ) ;
242
+ }
243
+ } ) ;
237
244
238
245
legendDrawnMap . set ( name , true ) ;
239
246
}
@@ -287,7 +294,11 @@ class LegendView extends ComponentView {
287
294
ecData . ssrType = 'legend' ;
288
295
} ) ;
289
296
}
290
-
297
+ itemGroup . eachChild ( child => {
298
+ if ( triggerEvent ) {
299
+ this . packEventData ( child , legendModel , seriesModel , dataIndex , name ) ;
300
+ }
301
+ } ) ;
291
302
legendDrawnMap . set ( name , true ) ;
292
303
}
293
304
@@ -307,7 +318,22 @@ class LegendView extends ComponentView {
307
318
this . _createSelector ( selector , legendModel , api , orient , selectorPosition ) ;
308
319
}
309
320
}
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
+ } ;
311
337
private _createSelector (
312
338
selector : LegendSelectorButtonOption [ ] ,
313
339
legendModel : LegendModel ,
0 commit comments