[ Index ] |
PHP Cross Reference of vtigercrm-6.1.0 |
[Summary view] [Print] [Text view]
1 /** 2 * jqPlot 3 * Pure JavaScript plotting plugin using jQuery 4 * 5 * Version: 1.0.2 6 * Revision: 1108 7 * 8 * Copyright (c) 2009-2011 Chris Leonello 9 * jqPlot is currently available for use in all personal or commercial projects 10 * under both the MIT (http://www.opensource.org/licenses/mit-license.php) and GPL 11 * version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html) licenses. This means that you can 12 * choose the license that best suits your project and use it accordingly. 13 * 14 * Although not required, the author would appreciate an email letting him 15 * know of any substantial use of jqPlot. You can reach the author at: 16 * chris at jqplot dot com or see http://www.jqplot.com/info.php . 17 * 18 * If you are feeling kind and generous, consider supporting the project by 19 * making a donation at: http://www.jqplot.com/donate.php . 20 * 21 * sprintf functions contained in jqplot.sprintf.js by Ash Searle: 22 * 23 * version 2007.04.27 24 * author Ash Searle 25 * http://hexmen.com/blog/2007/03/printf-sprintf/ 26 * http://hexmen.com/js/sprintf.js 27 * The author (Ash Searle) has placed this code in the public domain: 28 * "This code is unrestricted: you are free to use it however you like." 29 * 30 */ 31 (function($) { 32 /** 33 * Class: $.jqplot.ciParser 34 * Data Renderer function which converts a custom JSON data object into jqPlot data format. 35 * Set this as a callable on the jqplot dataRenderer plot option: 36 * 37 * > plot = $.jqplot('mychart', [data], { dataRenderer: $.jqplot.ciParser, ... }); 38 * 39 * Where data is an object in JSON format or a JSON encoded string conforming to the 40 * City Index API spec. 41 * 42 * Note that calling the renderer function is handled internally by jqPlot. The 43 * user does not have to call the function. The parameters described below will 44 * automatically be passed to the ciParser function. 45 * 46 * Parameters: 47 * data - JSON encoded string or object. 48 * plot - reference to jqPlot Plot object. 49 * 50 * Returns: 51 * data array in jqPlot format. 52 * 53 */ 54 $.jqplot.ciParser = function (data, plot) { 55 var ret = [], 56 line, 57 temp, 58 i, j, k, kk; 59 60 if (typeof(data) == "string") { 61 data = $.jqplot.JSON.parse(data, handleStrings); 62 } 63 64 else if (typeof(data) == "object") { 65 for (k in data) { 66 for (i=0; i<data[k].length; i++) { 67 for (kk in data[k][i]) { 68 data[k][i][kk] = handleStrings(kk, data[k][i][kk]); 69 } 70 } 71 } 72 } 73 74 else { 75 return null; 76 } 77 78 // function handleStrings 79 // Checks any JSON encoded strings to see if they are 80 // encoded dates. If so, pull out the timestamp. 81 // Expects dates to be represented by js timestamps. 82 83 function handleStrings(key, value) { 84 var a; 85 if (value != null) { 86 if (value.toString().indexOf('Date') >= 0) { 87 //here we will try to extract the ticks from the Date string in the "value" fields of JSON returned data 88 a = /^\/Date\((-?[0-9]+)\)\/$/.exec(value); 89 if (a) { 90 return parseInt(a[1], 10); 91 } 92 } 93 return value; 94 } 95 } 96 97 for (var prop in data) { 98 line = []; 99 temp = data[prop]; 100 switch (prop) { 101 case "PriceTicks": 102 for (i=0; i<temp.length; i++) { 103 line.push([temp[i]['TickDate'], temp[i]['Price']]); 104 } 105 break; 106 case "PriceBars": 107 for (i=0; i<temp.length; i++) { 108 line.push([temp[i]['BarDate'], temp[i]['Open'], temp[i]['High'], temp[i]['Low'], temp[i]['Close']]); 109 } 110 break; 111 } 112 ret.push(line); 113 } 114 return ret; 115 }; 116 })(jQuery);
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:08:37 2014 | Cross-referenced by PHPXref 0.7.1 |