123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- $(function () {
- $(".sparkline").each(function () {
- var $this = $(this);
- $this.sparkline('html', $this.data());
- });
- $('.sparkline-pie').sparkline('html', {
- type: 'pie',
- offset: 90,
- width: '150px',
- height: '150px',
- sliceColors: ['#E91E63', '#00BCD4', '#FFC107']
- })
- drawDocSparklines();
- drawMouseSpeedDemo();
- });
- //Taken from http://omnipotent.net/jquery.sparkline ================
- function drawDocSparklines() {
- // Bar + line composite charts
- $('#compositebar').sparkline('html', { type: 'bar', barColor: '#aaf' });
- $('#compositebar').sparkline([4, 1, 5, 7, 9, 9, 8, 7, 6, 6, 4, 7, 8, 4, 3, 2, 2, 5, 6, 7],
- { composite: true, fillColor: false, lineColor: 'red' });
- // Line charts taking their values from the tag
- $('.sparkline-1').sparkline();
- // Larger line charts for the docs
- $('.largeline').sparkline('html',
- { type: 'line', height: '2.5em', width: '4em' });
- // Customized line chart
- $('#linecustom').sparkline('html',
- {
- height: '1.5em', width: '8em', lineColor: '#f00', fillColor: '#ffa',
- minSpotColor: false, maxSpotColor: false, spotColor: '#77f', spotRadius: 3
- });
- // Bar charts using inline values
- $('.sparkbar').sparkline('html', { type: 'bar' });
- $('.barformat').sparkline([1, 3, 5, 3, 8], {
- type: 'bar',
- tooltipFormat: '{{value:levels}} - {{value}}',
- tooltipValueLookups: {
- levels: $.range_map({ ':2': 'Low', '3:6': 'Medium', '7:': 'High' })
- }
- });
- // Tri-state charts using inline values
- $('.sparktristate').sparkline('html', { type: 'tristate' });
- $('.sparktristatecols').sparkline('html',
- { type: 'tristate', colorMap: { '-2': '#fa7', '2': '#44f' } });
- // Composite line charts, the second using values supplied via javascript
- $('#compositeline').sparkline('html', { fillColor: false, changeRangeMin: 0, chartRangeMax: 10 });
- $('#compositeline').sparkline([4, 1, 5, 7, 9, 9, 8, 7, 6, 6, 4, 7, 8, 4, 3, 2, 2, 5, 6, 7],
- { composite: true, fillColor: false, lineColor: 'red', changeRangeMin: 0, chartRangeMax: 10 });
- // Line charts with normal range marker
- $('#normalline').sparkline('html',
- { fillColor: false, normalRangeMin: -1, normalRangeMax: 8 });
- $('#normalExample').sparkline('html',
- { fillColor: false, normalRangeMin: 80, normalRangeMax: 95, normalRangeColor: '#4f4' });
- // Discrete charts
- $('.discrete1').sparkline('html',
- { type: 'discrete', lineColor: 'blue', xwidth: 18 });
- $('#discrete2').sparkline('html',
- { type: 'discrete', lineColor: 'blue', thresholdColor: 'red', thresholdValue: 4 });
- // Bullet charts
- $('.sparkbullet').sparkline('html', { type: 'bullet' });
- // Pie charts
- $('.sparkpie').sparkline('html', { type: 'pie', height: '1.0em' });
- // Box plots
- $('.sparkboxplot').sparkline('html', { type: 'box' });
- $('.sparkboxplotraw').sparkline([1, 3, 5, 8, 10, 15, 18],
- { type: 'box', raw: true, showOutliers: true, target: 6 });
- // Box plot with specific field order
- $('.boxfieldorder').sparkline('html', {
- type: 'box',
- tooltipFormatFieldlist: ['med', 'lq', 'uq'],
- tooltipFormatFieldlistKey: 'field'
- });
- // click event demo sparkline
- $('.clickdemo').sparkline();
- $('.clickdemo').bind('sparklineClick', function (ev) {
- var sparkline = ev.sparklines[0],
- region = sparkline.getCurrentRegionFields();
- value = region.y;
- alert("Clicked on x=" + region.x + " y=" + region.y);
- });
- // mouseover event demo sparkline
- $('.mouseoverdemo').sparkline();
- $('.mouseoverdemo').bind('sparklineRegionChange', function (ev) {
- var sparkline = ev.sparklines[0],
- region = sparkline.getCurrentRegionFields();
- value = region.y;
- $('.mouseoverregion').text("x=" + region.x + " y=" + region.y);
- }).bind('mouseleave', function () {
- $('.mouseoverregion').text('');
- });
- }
- /**
- ** Draw the little mouse speed animated graph
- ** This just attaches a handler to the mousemove event to see
- ** (roughly) how far the mouse has moved
- ** and then updates the display a couple of times a second via
- ** setTimeout()
- **/
- function drawMouseSpeedDemo() {
- var mrefreshinterval = 500; // update display every 500ms
- var lastmousex = -1;
- var lastmousey = -1;
- var lastmousetime;
- var mousetravel = 0;
- var mpoints = [];
- var mpoints_max = 30;
- $('html').mousemove(function (e) {
- var mousex = e.pageX;
- var mousey = e.pageY;
- if (lastmousex > -1) {
- mousetravel += Math.max(Math.abs(mousex - lastmousex), Math.abs(mousey - lastmousey));
- }
- lastmousex = mousex;
- lastmousey = mousey;
- });
- var mdraw = function () {
- var md = new Date();
- var timenow = md.getTime();
- if (lastmousetime && lastmousetime != timenow) {
- var pps = Math.round(mousetravel / (timenow - lastmousetime) * 1000);
- mpoints.push(pps);
- if (mpoints.length > mpoints_max)
- mpoints.splice(0, 1);
- mousetravel = 0;
- $('#mousespeed').sparkline(mpoints, { width: mpoints.length * 2, tooltipSuffix: ' pixels per second' });
- }
- lastmousetime = timenow;
- setTimeout(mdraw, mrefreshinterval);
- };
- // We could use setInterval instead, but I prefer to do it this way
- setTimeout(mdraw, mrefreshinterval);
- }
- //=================================================================
|