source: Dev/branches/Cartis/Tiles preview/pages/graphSelection.js @ 284

Last change on this file since 284 was 284, checked in by tjcschipper, 13 years ago
File size: 3.5 KB
RevLine 
[278]1$(function() {
[283]2   
3    mockup.api.loadSelectedDataList = function() {
4        var _select = document.getElementById("select_selectData");
5       
6        for (var n = 0; n < shoppingCart.contents.titles.length; n++) {
7            var opt = document.createElement("option");
8            opt.value = shoppingCart.contents.uids[n];
9            opt.innerHTML = shoppingCart.contents.titles[n];
10            _select.appendChild(opt);
11        }
12    }
[278]13   
[283]14    mockup.api.loadSelectedDataList();
[278]15   
16   
[283]17    mockup.api.drawGraphPreview = function(type) {
18       
19        var selected = false, el = document.getElementById("select_selectData");
20        for (var n = 0; n < el.options.length; n++) {
21            if (el.options[n].selected == true) {
22                selected = true;
23            }
24        }
25        if (!selected) return;
26       
27        mockup.api.graphs.previewGraph = new Graph("graphContainer");
28        mockup.api.graphs.previewGraph._container.innerHTML = "";
29        mockup.api.graphs.previewGraph.init("previewGraph", [40,50,60], type, [459,250]);
30    }
31   
32    function initPage() {
33        document.getElementById("btnPie").addEventListener("click", function(event) {
34            mockup.api.drawGraphPreview("Pie");
35        }, true);
36       
37        document.getElementById("btnRadar").addEventListener("click", function(event) {
38            mockup.api.drawGraphPreview("Radar");
39        }, true);
40       
41        document.getElementById("btnRose").addEventListener("click", function(event) {
42            mockup.api.drawGraphPreview("Rose");
43        }, true);
44       
45        document.getElementById("btnBar").addEventListener("click", function(event) {
46            mockup.api.drawGraphPreview("Bar");
47        }, true);
48       
49    }
50   
51    mockup.api.addToDash = function() {
52        var type = mockup.api.graphs.previewGraph.getType();
53        var selectedOptions = [];
54        var name;
55        var el = document.getElementById('select_selectData');
56        for (var n = 0; n < el.options.length; n++) {
57            if (el.options[n].selected == true) {
58                selectedOptions.push(el.options[n]);
59            }
60        }
61        var option = selectedOptions[0] || null;
62        var graphs = document.getElementById('selectedGraphsContent');
63               
64        var newLine = ce("div");
65        newLine.className = "shoppingCartItem";
66        newLine.id = option.value;
67        var icon = ce("image");
68        $(icon).css("float", "right");
69        icon.src = "images/ui/DeleteIcon.png";
70        icon.addEventListener("click", function(event){
71            // TODO: Actually write this function
72            for (var n = 0; n < mockup.api.graphs.dashboard.length; n++) {
73                var name = icon.previousSibling.innerHTML.split(" - ")[0];
74                if (mockup.api.graphs.dashboard[n][0] == name) {
75                    mockup.api.graphs.dashboard.splice(n, 1);
76                    break;
77                }
78            }
79            var parent = icon.parentNode;
80            parent.parentNode.removeChild(parent);
81                       
[284]82        }, false);
[283]83        var titleField = ce("text");
84        name = option.innerHTML;
85        titleField.innerHTML = name+" - ("+type+")";
86        newLine.appendChild(titleField);
87        newLine.appendChild(icon);
88        graphs.appendChild(newLine);
89       
90        //Write settings to dashboard array.
91        mockup.api.graphs.dashboard.push([name, [40,50,60], type, [459,250]]);
92       
93    }
94   
95    initPage();
96   
97   
98   
[278]99});
Note: See TracBrowser for help on using the repository browser.