Changes between Version 1 and Version 2 of Ticket #16777, comment 7


Ignore:
Timestamp:
Mar 8, 2013, 11:52:06 PM (7 years ago)
Author:
naris
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #16777, comment 7

    v1 v2  
    11I am no longer able to attach files to posts, it thinks they are spams and expects me to type captcha images that either I can't see or it won't accept the correct answer to since it always rejects whatever I enter. Therefore, I will paste the script here:
    22
    3 <!DOCTYPE html>
    4 <html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    5                 <meta charset="utf-8">
    6             <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no" />
    7         <meta name="apple-mobile-web-app-capable" content="yes" />
    8                 <meta name="HandheldFriendly" content="true" />
    9                 <title>Hourly MTD Sales</title>
    10                 <link rel="stylesheet" type="text/css" href="/orbix/libs/dojo-release-1.9.0a2/dojo/resources/dojo.css">
    11                 <link rel="stylesheet" type="text/css" href="/orbix/libs/dojo-release-1.9.0a2/dijit/themes/claro/claro.css">
    12                 <link rel="stylesheet" type="text/css" href="/orbix/libs/dojo-release-1.9.0a2/dojox/grid/resources/Grid.css">
    13                 <link rel="stylesheet" type="text/css" href="/orbix/libs/dojo-release-1.9.0a2/dojox/grid/resources/claroGrid.css">
    14 
    15                 <style type="text/css">
    16                         html, body {
    17                             width: 100%;
    18                             height: 100%;
    19                             margin: 0;
    20                             overflow:hidden;
    21                         }
    22 
    23                         #borderContainer {
    24                             width: 100%;
    25                             height: 100%;
    26                         }
    27 
    28                         .content-pane{
    29                             width: 100%;
    30                             height: 100%;
    31                         }
    32 
    33                         #vwgoaAccordian{
    34                             width: 100%;
    35                             height: 100%;
    36                         }
    37 
    38                         .chart-area {
    39                                 float: left;
    40                                 width:  100%;
    41                                 height: 320px;
    42                                 margin-left: 30px;
    43                                 margin-bottom: 50px:
    44                         }
    45 
    46                         .chart {
    47                                 width:  95%;
    48                                 height: 300px;
    49                         }
    50 
    51                         .grid {
    52                                 width:  100%;
    53                                 height: 190px;
    54                         }
    55 
    56                         .grid-pane {
    57                                 width:  100%;
    58                                 height: 190px;
    59                         }
    60 
    61                         .grid-sub-total {
    62                                 background-color:DarkGrey;
    63                                 border-left-color:#f4f9fd;
    64                                 border-right-color:#f4f9fd;
    65                                 color:blue;
    66                         }
    67 
    68                         .grid-total {
    69                                 background-color:#f7fcff;
    70                                 border-left-color:#f4f9fd;
    71                                 border-right-color:#f4f9fd;
    72                                 color:green;
    73                         }
    74                 </style>
    75 
    76                 <!-- script src="/orbix/scripts/dojo/dojo.js" data-dojo-config="async:true, parseOnLoad:true, has:{'dojo-firebug': true,"dojo-debug-messages": true}"></script -->
    77                 <script src="/orbix/libs/dojo-release-1.9.0a2/dojo/dojo.js" data-dojo-config="async:true, parseOnLoad:true"></script>
    78         </head>
    79         <body class="claro">
    80                 <div class="chart-area">
    81                         <div id="vwUsaChart" class="chart"></div>
    82                 </div>
    83                 <div id="vwUsaLegend"></div>
    84 
    85                 <script>
    86                         require(["dojo/parser", "dojo/store/JsonRest", "dojo/store/Memory", "dojo/store/Cache", "dojo/store/Observable", "dojo/data/ObjectStore", "dojox/charting/StoreSeries",
    87                                   "dojox/charting/Chart", "dojox/charting/widget/Legend", "dojox/charting/action2d/Tooltip", "dojox/charting/action2d/Highlight", "dojox/charting/plot2d/Grid",
    88                                   "dojox/charting/themes/Claro", "dijit/registry", "dojo/query", "dojo/window", "dojo/on", "dojo/dom", "dojo/date", "dojo/dom-construct", "dojo/request",
    89                                   "dojo/_base/array", "dojox/charting/axis2d/Default", "dojox/charting/plot2d/Columns", "dojox/charting/plot2d/ClusteredColumns",
    90                                   "dojox/charting/plot2d/StackedColumns", "dojo/domReady!"],
    91                         function(parser, JsonRest, Memory, Cache, Observable, ObjectStore, StoreSeries, Chart, Legend, Tooltip,
    92                                   Highlight, Grid, theme, registry, query, win, on, dom, date, domConstruct, request, arrayUtil)
    93                         {
    94                                 // Create the labels array
    95                                 var timeLabels = [{ value: 0,  text: "12 AM" }, { value: 1,  text: "1 AM"  }, { value: 2,  text: "2 AM"  },
    96                                                     { value: 3,  text: "3 AM"  }, { value: 4,  text: "4 AM"  }, { value: 5,  text: "5 AM"  },
    97                                                     { value: 6,  text: "6 AM"  }, { value: 7,  text: "7 AM"  }, { value: 8,  text: "8 AM"  },
    98                                                     { value: 9,  text: "9 AM"  }, { value: 10, text: "10 AM" }, { value: 11, text: "11 AM" },
    99                                                     { value: 12, text: "12 PM" }, { value: 13, text: "1 PM"  }, { value: 14, text: "2 PM"  },
    100                                                     { value: 15, text: "3 PM"  }, { value: 16, text: "4 PM"  }, { value: 17, text: "5 PM"  },
    101                                                     { value: 18, text: "6 PM"  }, { value: 19, text: "7 PM"  }, { value: 20, text: "8 PM"  },
    102                                                     { value: 21, text: "9 PM"  }, { value: 22, text: "10 PM" }, { value: 23, text: "11 PM" },
    103                                                     { value: 24, text: "12 AM" }, { value: 25, text: "1 AM"  }, { value: 26, text: "2 AM"  },
    104                                                     { value: 27, text: "3 AM"  }, { value: 28, text: "4 AM"  }, { value: 29, text: "5 AM"  }];
    105 
    106                                 // Calculate the current and starting hour
    107                                 var now = new Date();
    108                                 var hour = now.getHours();
    109                                 var start = (hour < 4 || hour >= 10) ? 10 : 4;
    110                                 var end = ((hour > 4) ? hour : hour + 24) + 2;
    111 
    112                                 // Create the Hourly Sales Store for the charts
    113                                 //var hourlySalesStore = new Observable(Cache(JsonRest({target:"/cgi-bin/HourlySales", idProperty:"hour"}), Memory()));
    114                                 var hourlySalesStore  = new Memory({idProperty: "hour", data : [
    115                                         {hour:10, net_sales:26, cnty:"USA", country:"USA", make:"VLK", brand:"VW", title:"VW USA: 26"},
    116                                         {hour:12, net_sales:83, cnty:"USA", country:"USA", make:"VLK", brand:"VW", title:"VW USA: 83"},
    117                                         {hour:14, net_sales:77, cnty:"USA", country:"USA", make:"VLK", brand:"VW", title:"VW USA: 77"},
    118                                         {hour:16, net_sales:7, cnty:"USA", country:"USA", make:"VLK", brand:"VW", title:"VW USA: 7"},
    119                                         {hour:10, net_sales:9, cnty:"USA", country:"USA", make:"AUD", brand:"Audi", title:"Audi USA: 9"},
    120                                         {hour:12, net_sales:18, cnty:"USA", country:"USA", make:"AUD", brand:"Audi", title:"Audi USA: 18"},
    121                                         {hour:14, net_sales:19, cnty:"USA", country:"USA", make:"AUD", brand:"Audi", title:"Audi USA: 19"},
    122                                         {hour:16, net_sales:10, cnty:"USA", country:"USA", make:"AUD", brand:"Audi", title:"Audi USA: 10"},
    123                                         {hour:10, net_sales:8, cnty:"CAN", country:"Canada", make:"VLK", brand:"VW", title:"VW Canada: 8"},
    124                                         {hour:12, net_sales:13, cnty:"CAN", country:"Canada", make:"VLK", brand:"VW", title:"VW Canada: 13"},
    125                                         {hour:14, net_sales:2, cnty:"CAN", country:"Canada", make:"VLK", brand:"VW", title:"VW Canada: 2"},
    126                                         {hour:16, net_sales:2, cnty:"CAN", country:"Canada", make:"VLK", brand:"VW", title:"VW Canada: 2"},
    127                                         {hour:10, net_sales:2, cnty:"CAN", country:"Canada", make:"AUD", brand:"Audi", title:"Audi Canada: 2"},
    128                                         {hour:12, net_sales:1, cnty:"CAN", country:"Canada", make:"AUD", brand:"Audi", title:"Audi Canada: 1"},
    129                                         {hour:14, net_sales:1, cnty:"CAN", country:"Canada", make:"AUD", brand:"Audi", title:"Audi Canada: 1"},
    130                                         {hour:16, net_sales:5, cnty:"CAN", country:"Canada", make:"AUD", brand:"Audi", title:"Audi Canada: 5"}
    131                                 ]});
    132 
    133                                 // Create the Hourly Locates Store for the charts
    134                                 //var hourlyLocatesStore = new Observable(Cache(JsonRest({target:"/cgi-bin/HourlyLocates", idProperty:"hour"}), Memory()));
    135                                 var hourlyLocatesStore  = new Memory({ idProperty: "hour" , data : [
    136                                         {hour:10, count:915, cnty:"USA", make:"VLK", title:"VW USA: 915"},
    137                                         {hour:12, count:2337, cnty:"USA", make:"VLK", title:"VW USA: 2337"},
    138                                         {hour:14, count:1916, cnty:"USA", make:"VLK", title:"VW USA: 1916"}
    139                                 ]});
    140 
    141                                 //////////////////////////////////////////////////////////////////////////////////////////////////////////////
    142                                 // Create the VW USA chart
    143                                 var vwUsaChart = new Chart("vwUsaChart", { title: "VW USA" });
    144 
    145                                 // Set the theme
    146                                 vwUsaChart.setTheme(theme);
    147 
    148                                 // Add the VW USA Sales column (default) plot
    149                                 vwUsaChart.addPlot("default", {
    150                                     type: "ClusteredColumns",
    151                                     labelStyle: "outside",
    152                                     labels: true,
    153                                     gap: 5
    154                                 });
    155 
    156                                 // Add grid
    157                                 vwUsaChart.addPlot("grid", { type: "Grid",
    158                                         hMajorLines: true,
    159                                         hMinorLines: false,
    160                                         vMajorLines: false,
    161                                         vMinorLines: false
    162                                 });
    163 
    164                                 // Add axes
    165                                 vwUsaChart.addAxis("x", { min: start - 1, max: ((end > 24) ? end : 24) + 1,
    166                                                              fixLower: "none", fixUpper: "none",
    167                                                              majorTickStep: 2, minorTickStep: 1,
    168                                                              minorLabels: false, labels: timeLabels });
    169 
    170                                 vwUsaChart.addAxis("y", { vertical: true, includeZero: true, natural: true,
    171                                                              fixLower: "major", fixUpper: "major" });
    172 
    173                                 // Create the store series for the VW USA data
    174                                 var vwUsaSales = new StoreSeries(hourlySalesStore,
    175                                         { query: { cnty: "USA", make: "VLK" } },
    176                                         { x: "hour", y: "net_sales"
    177                                 });
    178 
    179                                 var vwUsaLocates = new StoreSeries(hourlyLocatesStore,
    180                                         { query: { cnty: "USA", make: "VLK" } },
    181                                         { x: "hour", y: "count"
    182                                 });
    183 
    184                                 // Add the series of data
    185                                 vwUsaChart.addSeries("Sales Reported", vwUsaSales,
    186                                         { stroke: {color: "darkblue", width: 2 }, fill: "darkblue"
    187                                 });
    188 
    189                                 vwUsaChart.addSeries("Vehicle Locates", vwUsaLocates,
    190                                         { stroke: {color: "darkgreen", width: 2 }, fill: "darkgreen"
    191                                 });
    192 
    193                                 // Render the chart!
    194                                 vwUsaChart.render();
    195 
    196                                 // Create the tooltips
    197                                 var vwUsaSalesTip = new Tooltip(vwUsaChart,"default");
    198 
    199                                 // Highlight the columns
    200                                 var vwUsaSalesHighlight = new Highlight(vwUsaChart, "default");
    201 
    202                                 // Create the legend
    203                                 var vwUsaLegend = new Legend({ chart: vwUsaChart}, "vwUsaLegend");
    204                                 dojo.connect(vwUsaChart, "render", vwUsaLegend , "refresh");
    205                         });
    206                 </script>
    207        
    208 </body></html>
     3Correction: It finally allowed me to upload a file without having to enter an impossible captcha code.