Changeset 227 for Dev/branches/Cartis/js


Ignore:
Timestamp:
01/12/12 17:30:32 (13 years ago)
Author:
cartis
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Dev/branches/Cartis/js/dashboardScripts.js

    r213 r227  
    11dbSelectionInfoTimeout = null;
    2 currentlySelected = {
     2var currentlySelected = {
    33    titles: [],
    44    uids: [],
     
    66}
    77
    8 shoppingCart = {
     8var shoppingCart = {
    99    contents: {
    1010        titles: [],
     
    1212        types: []
    1313    }
     14}
     15
     16var graphSelection = {
     17    graphType: null,
     18    graphData: null,
     19    dataAvailable: false
     20}
     21
     22var mockupData = {
     23    muData1: [1,2,3,4,5,6], //pie charts
     24    muData2: [[1,2,3],[4,5,6]], //bar charts
     25    muData3: [[1,2],[3,4],[5,6]]    //radar charts
    1426}
    1527
     
    143155    // Lastly, refresh
    144156    drawShoppingCart();
    145     }
     157}
    146158
    147159function drawShoppingCart() {
    148         var scElement = ge("shoppingCartContent");
    149         scElement.innerHTML = "";
    150         for (var i = 0; i < shoppingCart.contents.uids.length; i++) {
    151             var newLine = ce("div");
    152             newLine.className = "shoppingCartItem";
    153             newLine.id = "shoppingCartItem"+shoppingCart.contents.uids[i];
    154             var icon = ce("image");
    155             icon.src = "images/ui/DeleteIcon.gif";
    156             icon.addEventListener("click", function(event){
    157                 // TODO: Actually write this function
    158                 removeFromList(event);
    159             }, false);
    160             var titleField = ce("text");
    161             titleField.innerHTML = shoppingCart.contents.titles[i];
    162             newLine.appendChild(icon);
    163             newLine.appendChild(titleField);
    164             scElement.appendChild(newLine);
    165         }
    166    
    167         // reset type after empty
    168         currentlySelected.type = null;
    169     }
     160    var scElement = ge("shoppingCartContent");
     161    scElement.innerHTML = "";
     162    for (var i = 0; i < shoppingCart.contents.uids.length; i++) {
     163        var newLine = ce("div");
     164        newLine.className = "shoppingCartItem";
     165        newLine.id = "shoppingCartItem"+shoppingCart.contents.uids[i];
     166        var icon = ce("image");
     167        icon.src = "images/ui/DeleteIcon.gif";
     168        icon.addEventListener("click", function(event){
     169            // TODO: Actually write this function
     170            removeFromList(event);
     171        }, false);
     172        var titleField = ce("text");
     173        titleField.innerHTML = shoppingCart.contents.titles[i];
     174        newLine.appendChild(icon);
     175        newLine.appendChild(titleField);
     176        scElement.appendChild(newLine);
     177    }
     178   
     179    // reset type after empty
     180    currentlySelected.type = null;
     181}
    170182   
    171183function configureDashboard() {
     
    182194    form.submit();
    183195}
     196
     197//function goto dashboard
     198function gotoDashboard() {
     199    var data = JSON.stringify(doorstuurData);
     200    var form = ce("form");
     201    //changed to dashboardGraphSelection.php
     202    form.action = "dashboardOverview.php";
     203    form.method = "POST";
     204    var input = ce("input");
     205    input.type = "hidden";
     206    input.name = "doorstuurData";
     207    input.value = data;
     208    form.appendChild(input);
     209    form.submit();
     210}
     211
     212function changeGraphType(type) {
     213    // If different graph type, clear canvas 1.
     214   
     215    switch (type.toLowerCase()){
     216        case "bar":
     217            graphSelection.graphType = "Bar";
     218            break;
     219        case "radar":
     220            graphSelection.graphType = "Radar";
     221            break
     222        case "pie":
     223            graphSelection.graphType = "Pie";
     224            break;
     225        default:
     226            break;
     227    }
     228   
     229    //alert("Graph type is now: "+graphSelection.graphType);
     230    var data = formatGraphData();
     231    drawGraph('chart1', 450, 200, graphSelection.graphType, data);
     232}
     233
     234function formatGraphData() {
     235    /*
     236     * if (data.available == false) {
     237     * graphSelection.dataAvailable = false;
     238     * insertStandardPlaceholderData();
     239     * }
     240     * else {
     241     * FormatDataCorrectly();
     242     * }
     243     */
     244    // temporary!!!;
     245    graphSelection.graphData = mockupData.muData1;
     246    return mockupData.muData1;
     247   
     248//alert("Data is now being formatted");
     249}
     250
     251function drawGraph(name, sizeX, sizeY, type, data) {
     252    //delete old graph
     253   
     254    var oldGraph = ge("chart1");
     255    if (oldGraph) oldGraph.parentNode.removeChild(oldGraph);
     256   
     257    var canvas = ce("canvas");
     258    canvas.id = name;
     259    canvas.width = sizeX;
     260    canvas.height = sizeY;
     261    var parentElement = ge("graphDisplay");
     262    parentElement.appendChild(canvas);
     263   
     264    //js calls
     265    var chart1;
     266    switch (type) {
     267        case "Bar":
     268            chart1 = new RGraph.Bar(name, data);
     269            break;
     270        case "Pie":
     271            chart1 = new RGraph.Pie(name, data);
     272            break;
     273        case "Radar":
     274            //chart1 = new RGraph.Radar('chart1', graphSelection.graphData);
     275            break;
     276        default:
     277            break;
     278    }
     279   
     280    //chart1.Set('chart.background.barcolor1', 'white');
     281    // chart1.Set('chart.background.barcolor2', 'white');
     282    chart1.Set('chart.labels', ['1st', '2nd', '3rd', '4th', '5th', '6th']);
     283    //chart1.Set('chart.key', ['Aapjes', 'Hertjes']);
     284    //chart1.Set('chart.key.position.y', 35);
     285    //chart1.Set('chart.key.position', 'gutter');
     286    //chart1.Set('chart.key.background', 'rgb(255,255,255)');
     287    chart1.Set('chart.colors', ['#77f', '#7f7']);
     288    chart1.Set('chart.shadow', true);
     289    chart1.Set('chart.shadow.blur', 15);
     290    chart1.Set('chart.shadow.offsetx', 0);
     291    chart1.Set('chart.shadow.offsety', 0);
     292    chart1.Set('chart.shadow.color', '#aaa');
     293    chart1.Set('chart.yaxispos', 'right');
     294    chart1.Set('chart.strokestyle', 'rgba(0,0,0,0)');
     295    chart1.Set('chart.gutter.left', 5);
     296    chart1.Set('chart.gutter.right', 45);
     297    chart1.Draw();
     298   
     299}
     300
     301var doorstuurData = {
     302    graphs: [],
     303    count: null
     304}
     305
     306function addToDashboard() {
     307    doorstuurData.graphs.push(["graph"+doorstuurData.count+1, 450, 200, graphSelection.graphType, graphSelection.graphData]);
     308    doorstuurData.count++;
     309}
Note: See TracChangeset for help on using the changeset viewer.