Changeset 2005


Ignore:
Timestamp:
Sep 8, 2011, 2:41:45 PM (12 years ago)
Author:
tjeerd@…
Message:

Extra fancy feedback added to visualization.js

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/web-app/js/visualization.js

    r2003 r2005  
    1717    );
    1818    $("#menu_go").unbind('mouseover').unbind('mouseout');
     19
     20    $('#button_visualize').mousedown(function() {
     21        $('#button_visualize').css("border-style", 'inset');
     22    });
     23    $('#button_visualize').mouseup(function() {
     24        $('#button_visualize').css("border-style", 'outset');
     25    });
     26
    1927});
    2028
     
    138146 */
    139147function visualize() {
    140         executeAjaxCall( "getData", {
    141                 "errorMessage": "An error occurred while retrieving data from the server. Please try again or contact a system administrator.",
    142                 "success": function( data, textStatus, jqXHR ) {
    143                         // Remove old chart, if available
    144                         if( visualization )
    145                                 visualization.destroy();
    146 
    147             if(data.infoMessage!=null) {
    148                 showError(data.infoMessage,"warning");
     148
     149    if(!$( "#menu_vis" ).hasClass("menu_item_done") ||
     150        !$( "#menu_row" ).hasClass("menu_item_done") ||
     151        !$( "#menu_row" ).hasClass("menu_item_done") ||
     152        !$( "#menu_row" ).hasClass("menu_item_done") ) {
     153
     154        $( ".menu_item" ).not(".menu_item_done").removeClass().addClass("menu_item menu_item_warning");
     155    } else {
     156
     157
     158        executeAjaxCall( "getData", {
     159            "errorMessage": "An error occurred while retrieving data from the server. Please try again or contact a system administrator.",
     160            "success": function( data, textStatus, jqXHR ) {
     161                // Remove old chart, if available
     162                if( visualization )
     163                    visualization.destroy();
     164
     165                if(data.infoMessage!=null) {
     166                    showError(data.infoMessage,"warning");
     167                }
     168                // Handle erroneous data
     169                /*if( !checkCorrectData( data.returnData ) ) {
     170                    showError( "Unfortunately the server returned data in a format that we did not expect.", "error" );
     171                    return;
     172                }*/
     173
     174                // Retrieve the datapoints from the json object
     175                var dataPoints = [];
     176                var series = [];
     177
     178
     179                var returnData = data.returnData;
     180                $.each(returnData.series, function(idx, element ) {
     181                    dataPoints[ dataPoints.length ] = element.y;
     182                    series[ series.length ] = { "label": element.name };
     183                });
     184
     185                var xlabel = returnData[ "xaxis" ].unit=="" ? returnData[ "xaxis" ].title : returnData[ "xaxis" ].title + " (" + returnData[ "xaxis" ].unit + ")";
     186                var ylabel = returnData[ "yaxis" ].unit=="" ? returnData[ "yaxis" ].title : returnData[ "yaxis" ].title + " (" + returnData[ "yaxis" ].unit + ")";
     187
     188                // TODO: create a chart based on the data that is sent by the user and the type of chart
     189                // chosen by the user
     190                visualization = $.jqplot('visualization', dataPoints, {
     191                    // Tell the plot to stack the bars.
     192                    stackSeries: true,
     193                    seriesDefaults:{
     194                        renderer:$.jqplot.BarRenderer,
     195                        rendererOptions: {
     196                                // Put a 30 pixel margin between bars.
     197                                barMargin: 30,
     198                                // Highlight bars when mouse button pressed.
     199                                // Disables default highlighting on mouse over.
     200                                highlightMouseDown: true
     201                        },
     202                        pointLabels: {show: true}
     203                    },
     204                    series: series,
     205                    axes: {
     206                        xaxis: {
     207                                renderer: $.jqplot.CategoryAxisRenderer,
     208                                ticks: returnData.x,
     209                                label: xlabel,
     210                                labelRenderer: $.jqplot.CanvasAxisLabelRenderer
     211                        },
     212                        yaxis: {
     213                            label: ylabel,
     214                            labelRenderer: $.jqplot.CanvasAxisLabelRenderer
     215                        }
     216                    }
     217
     218                });
     219
     220                $( "#visualization" ).show();
    149221            }
    150                         // Handle erroneous data
    151                         /*if( !checkCorrectData( data.returnData ) ) {
    152                                 showError( "Unfortunately the server returned data in a format that we did not expect.", "error" );
    153                                 return;
    154                         }*/
    155                        
    156                         // Retrieve the datapoints from the json object
    157                         var dataPoints = [];
    158                         var series = [];
    159 
    160 
    161             var returnData = data.returnData;
    162                         $.each(returnData.series, function(idx, element ) {
    163                                 dataPoints[ dataPoints.length ] = element.y;
    164                                 series[ series.length ] = { "label": element.name };
    165                         });
    166 
    167             var xlabel = returnData[ "xaxis" ].unit=="" ? returnData[ "xaxis" ].title : returnData[ "xaxis" ].title + " (" + returnData[ "xaxis" ].unit + ")";
    168             var ylabel = returnData[ "yaxis" ].unit=="" ? returnData[ "yaxis" ].title : returnData[ "yaxis" ].title + " (" + returnData[ "yaxis" ].unit + ")";
    169                        
    170                         // TODO: create a chart based on the data that is sent by the user and the type of chart
    171                         // chosen by the user
    172                         visualization = $.jqplot('visualization', dataPoints, {
    173                                 // Tell the plot to stack the bars.
    174                                 stackSeries: true,
    175                                 seriesDefaults:{
    176                                         renderer:$.jqplot.BarRenderer,
    177                                         rendererOptions: {
    178                                                         // Put a 30 pixel margin between bars.
    179                                                         barMargin: 30,
    180                                                         // Highlight bars when mouse button pressed.
    181                                                         // Disables default highlighting on mouse over.
    182                                                         highlightMouseDown: true         
    183                                         },
    184                                         pointLabels: {show: true}
    185                                 },
    186                                 series: series,
    187                                 axes: {
    188                                         xaxis: {
    189                                                         renderer: $.jqplot.CategoryAxisRenderer,
    190                                                         ticks: returnData.x,
    191                                                         label: xlabel,
    192                                                         labelRenderer: $.jqplot.CanvasAxisLabelRenderer
    193                                         },
    194                                         yaxis: {
    195                                                 label: ylabel,
    196                                                 labelRenderer: $.jqplot.CanvasAxisLabelRenderer
    197                                         }
    198                                 }
    199                
    200                         });
    201                        
    202                         $( "#visualization" ).show();
    203                 }
    204         }, "menu_go");
     222        }, "menu_go");
     223    }
    205224}
    206225
Note: See TracChangeset for help on using the changeset viewer.