1 | "use strict";
|
2 | var ChartEvent_1 = require("./ChartEvent");
|
3 | var chartEvents = [
|
4 | 'addSeries',
|
5 | 'afterPrint',
|
6 | 'beforePrint',
|
7 | 'drilldown',
|
8 | 'drillup',
|
9 | 'load',
|
10 | 'redraw',
|
11 | 'selection'
|
12 | ];
|
13 | var seriesEvents = [
|
14 | 'click',
|
15 | 'afterAnimate',
|
16 | 'checkboxClick',
|
17 | 'hide',
|
18 | 'legendItemClick',
|
19 | 'mouseOut',
|
20 | 'mouseOver',
|
21 | 'show'
|
22 | ];
|
23 | var pointEvents = [
|
24 | 'click',
|
25 | 'remove',
|
26 | 'select',
|
27 | 'unselect',
|
28 | 'mouseOut',
|
29 | 'mouseOver',
|
30 | 'update'
|
31 | ];
|
32 | var xAxisEvents = [
|
33 | 'afterBreaks',
|
34 | 'afterSetExtremes',
|
35 | 'pointBreak',
|
36 | 'pointInBreak',
|
37 | 'setExtremes'
|
38 | ];
|
39 | var yAxisEvents = [
|
40 | 'afterBreaks',
|
41 | 'afterSetExtremes',
|
42 | 'pointBreak',
|
43 | 'pointInBreak',
|
44 | 'setExtremes'
|
45 | ];
|
46 | function createBaseOpts(chartCmp, seriesCmp, pointCmp, xAxisCmp, yAxisCmp, element) {
|
47 | var opts = {
|
48 | chart: {
|
49 | renderTo: element,
|
50 | events: {}
|
51 | },
|
52 | plotOptions: {
|
53 | series: {
|
54 | events: {},
|
55 | point: {
|
56 | events: {}
|
57 | }
|
58 | }
|
59 | },
|
60 | xAxis: {
|
61 | events: {}
|
62 | },
|
63 | yAxis: {
|
64 | events: {}
|
65 | }
|
66 | };
|
67 | chartEvents.forEach(function (eventName) {
|
68 | opts.chart.events[eventName] = opts.chart.events[eventName] || function (event) {
|
69 | chartCmp[eventName].emit(new ChartEvent_1.ChartEvent(event, this));
|
70 | };
|
71 | });
|
72 | if (seriesCmp) {
|
73 | seriesEvents.forEach(function (eventName) {
|
74 | opts.plotOptions.series.events[eventName] = opts.plotOptions.series.events[eventName] || function (event) {
|
75 | seriesCmp[eventName].emit(new ChartEvent_1.ChartEvent(event, this));
|
76 | };
|
77 | });
|
78 | }
|
79 | if (pointCmp) {
|
80 | pointEvents.forEach(function (eventName) {
|
81 | opts.plotOptions.series.point.events[eventName] = opts.plotOptions.series.point.events[eventName] || function (event) {
|
82 | pointCmp[eventName].emit(new ChartEvent_1.ChartEvent(event, this));
|
83 | };
|
84 | });
|
85 | }
|
86 | if (xAxisCmp) {
|
87 | xAxisEvents.forEach(function (eventName) {
|
88 | opts.xAxis.events[eventName] = opts.xAxis.events[eventName] || function (event) {
|
89 | xAxisCmp[eventName].emit(new ChartEvent_1.ChartEvent(event, this));
|
90 | };
|
91 | });
|
92 | }
|
93 | if (yAxisCmp) {
|
94 | yAxisEvents.forEach(function (eventName) {
|
95 | opts.yAxis.events[eventName] = opts.yAxis.events[eventName] || function (event) {
|
96 | yAxisCmp[eventName].emit(new ChartEvent_1.ChartEvent(event, this));
|
97 | };
|
98 | });
|
99 | }
|
100 | return opts;
|
101 | }
|
102 | exports.createBaseOpts = createBaseOpts;
|
103 |
|
\ | No newline at end of file |