|  | 
| 31 | 31 |                 fcHeight: '@', | 
| 32 | 32 |                 fcDataset: '@', | 
| 33 | 33 |                 fcCategories: '@', | 
| 34 |  | -                fcChartAttrs: '@', | 
| 35 |  | -                fcDataplotClick: '@', | 
| 36 |  | -                fcChartClick: '@' | 
|  | 34 | +                fcChartAttrs: '@' | 
| 37 | 35 |             }, | 
| 38 | 36 |             link: function (scope, element, attrs) { | 
| 39 |  | -                var chart = null, | 
|  | 37 | +                var eventsObj = {}, | 
|  | 38 | +                    attribs = Object.keys(attrs), | 
|  | 39 | +                    chart = null, | 
| 40 | 40 |                     events = { | 
| 41 |  | -                        dataplotClick: function (ev, props) { | 
| 42 |  | -                            if(attrs.fcDataplotClick) { | 
| 43 |  | -                                scope.$apply (function () { | 
| 44 |  | -                                    scope.$parent[attrs.fcDataplotClick](ev, props);     | 
| 45 |  | -                                }); | 
| 46 |  | -                            } | 
| 47 |  | -                        }, | 
| 48 |  | -                        chartClick: function (ev, props) { | 
| 49 |  | -                            if(attrs.fcChartClick) { | 
| 50 |  | -                                scope.$apply (function () { | 
| 51 |  | -                                    scope.$parent[attrs.fcChartClick](ev, props); | 
| 52 |  | -                                }); | 
| 53 |  | -                            } | 
|  | 41 | +                        '*': function (ev, props) { | 
|  | 42 | +                            if(eventsObj.hasOwnProperty(ev.eventType)) { | 
|  | 43 | +                                eventsObj[ev.eventType](ev, props); | 
|  | 44 | +                          } | 
| 54 | 45 |                         } | 
| 55 | 46 |                     }; | 
|  | 47 | +                if(attrs.fcEvents) { | 
|  | 48 | +                    if(scope.$parent[attrs.fcEvents]) { | 
|  | 49 | +                        var _eobj = scope.$parent[attrs.fcEvents]; | 
|  | 50 | +                        for(var key in _eobj) { | 
|  | 51 | +                            if(_eobj.hasOwnProperty(key)) { | 
|  | 52 | +                                eventsObj[key.toLowerCase()] = _eobj[key]; | 
|  | 53 | +                            } | 
|  | 54 | +                        } | 
|  | 55 | +                    } | 
|  | 56 | +                } | 
|  | 57 | +                for(var i=0; i<attribs.length; i++) { | 
|  | 58 | +                    var attr = attribs[i]; | 
|  | 59 | +                    if(attr.match(/^on/i)) { | 
|  | 60 | +                        var key = attr.slice(2).toLowerCase (); | 
|  | 61 | +                        eventsObj[key] = scope.$parent[attrs[attr]]; | 
|  | 62 | +                    } | 
|  | 63 | +                } | 
| 56 | 64 |                 if(attrs.fcConfig) { | 
| 57 | 65 |                     chart = new FusionCharts(scope[attrs.fcConfig]); | 
| 58 | 66 |                     scope[attrs.fcChartObject] = chart; | 
|  | 
0 commit comments