1 | $(function() { |
---|
2 | |
---|
3 | // Graph class |
---|
4 | |
---|
5 | function Graph(containerName) { |
---|
6 | var self = this; |
---|
7 | var _id; |
---|
8 | var _type; |
---|
9 | var _size; |
---|
10 | var _data; |
---|
11 | var _graphObject; |
---|
12 | this._container = document.getElementById(containerName); |
---|
13 | |
---|
14 | this.init = function(id, data, type, size) { |
---|
15 | // Draw the graph to the element |
---|
16 | _id = id; |
---|
17 | _data = data; |
---|
18 | _type = type; |
---|
19 | _size = size; |
---|
20 | |
---|
21 | var canvas = document.createElement("canvas"); |
---|
22 | canvas.id = id; |
---|
23 | canvas.className = "graphDisplay"; |
---|
24 | canvas.width = _size[0]; |
---|
25 | canvas.height = size[1]; |
---|
26 | self._container.appendChild(canvas); |
---|
27 | |
---|
28 | switch (_type) { |
---|
29 | case "Pie": |
---|
30 | _graphObject = new RGraph.Pie(_id, _data); |
---|
31 | break; |
---|
32 | case "Bar": |
---|
33 | _graphObject = new RGraph.Bar(_id, _data); |
---|
34 | _graphObject.Set('chart.labels', ['Jan', 'Piet', 'Shaniqua']); |
---|
35 | break; |
---|
36 | case "Radar": |
---|
37 | _graphObject = new RGraph.Radar(_id, _data); |
---|
38 | break; |
---|
39 | case "Rose": |
---|
40 | _graphObject = new RGraph.Rose(_id, _data); |
---|
41 | break; |
---|
42 | } |
---|
43 | |
---|
44 | // Set standard properties. |
---|
45 | _graphObject.Set('chart.text.color', '#fff'); |
---|
46 | _graphObject.Set('chart.shadow', false); |
---|
47 | _graphObject.Set('chart.colors', ['rgba(240,240,240,0.5)', 'rgba(240,240,240,0.5)', 'rgba(240,240,240,0.5)']); |
---|
48 | _graphObject.Set('chart.axis.color', 'rgba(240,240,240,0.5)'); |
---|
49 | _graphObject.Set('chart.strokestyle', 'rgba(240,240,240,1.0)'); |
---|
50 | |
---|
51 | //enlarge click event |
---|
52 | if (canvas.id == "enlarged") { |
---|
53 | canvas.addEventListener("click", function(event) { |
---|
54 | self.closeLarge(self); |
---|
55 | }, true); |
---|
56 | canvas.className = "fullGraphDisplay"; |
---|
57 | } |
---|
58 | else { |
---|
59 | canvas.addEventListener("click", function(event) { |
---|
60 | self.enlarge(); |
---|
61 | }, true); |
---|
62 | } |
---|
63 | // Draw |
---|
64 | _graphObject.Draw(); |
---|
65 | } |
---|
66 | |
---|
67 | this.getId = function() { |
---|
68 | return _id; |
---|
69 | } |
---|
70 | this.getType = function() { |
---|
71 | return _type; |
---|
72 | } |
---|
73 | |
---|
74 | this.enlarge = function() { |
---|
75 | // Check if already enlarged? |
---|
76 | debugger; |
---|
77 | var present = document.getElementById("largeContainer"); |
---|
78 | if (present != null) return; |
---|
79 | |
---|
80 | var largeContainer = document.createElement("div"); |
---|
81 | largeContainer.className = "fullscreenGraphContainer"; // make css! |
---|
82 | largeContainer.id = "largeContainer"; |
---|
83 | |
---|
84 | // TESTING!!!! /////////////////////////////// |
---|
85 | $("#content").append(largeContainer); |
---|
86 | $(".basePanel").addClass("hidden"); |
---|
87 | |
---|
88 | // END TESTING ////////////////////////// |
---|
89 | /* |
---|
90 | $(".basePanel").append(largeContainer); |
---|
91 | */ |
---|
92 | var largeGraph = new Graph("largeContainer"); |
---|
93 | largeGraph.init("enlarged", _data, _type, [900,550]); |
---|
94 | var clearDiv = document.createElement("div"); |
---|
95 | $(clearDiv).css("float", "left").css("clear", "both"); |
---|
96 | largeGraph._container.appendChild(clearDiv); |
---|
97 | } |
---|
98 | |
---|
99 | this.closeLarge = function(graph) { |
---|
100 | debugger; |
---|
101 | self._container.parentNode.removeChild(self._container); |
---|
102 | $(".basePanel").removeClass('hidden'); |
---|
103 | } |
---|
104 | } |
---|
105 | |
---|
106 | window.Graph = Graph; |
---|
107 | |
---|
108 | }); |
---|