@@ -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