source: Dev/branches/Cartis/Tiles preview/js/classes/graphs.js @ 290

Last change on this file since 290 was 290, checked in by tjcschipper, 13 years ago

Cartis z'n testversie is DONE!

File size: 3.7 KB
Line 
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});
Note: See TracBrowser for help on using the repository browser.