| @@ -3,9 +3,9 @@ | ||
| 3 | 3 | |
| 4 | 4 | v.objects = {}; |
| 5 | 5 | |
| 6 | 6 | v.renderChart = function(id) { |
| 7 | - var chart, render, container, series, data, table, settings, i, j, row, date, axis, property; | |
| 7 | + var chart, render, container, series, data, table, settings, i, j, row, date, axis, property, format, formatter; | |
| 8 | 8 | |
| 9 | 9 | chart = v.charts[id]; |
| 10 | 10 | series = chart.series; |
| 11 | 11 | data = chart.data; |
| @@ -57,9 +57,9 @@ | ||
| 57 | 57 | default: |
| 58 | 58 | return; |
| 59 | 59 | } |
| 60 | 60 | |
| 61 | - if (series[0].type == 'date' || series[0].type == 'datetime') { | |
| 61 | + if (series[0] && (series[0].type == 'date' || series[0].type == 'datetime')) { | |
| 62 | 62 | axis = false; |
| 63 | 63 | switch (v.charts[id].type) { |
| 64 | 64 | case 'line': |
| 65 | 65 | case 'area': |
| @@ -103,8 +103,33 @@ | ||
| 103 | 103 | row.push(data[i][j]); |
| 104 | 104 | } |
| 105 | 105 | table.addRow(row); |
| 106 | 106 | } |
| 107 | + | |
| 108 | + if (settings.series) { | |
| 109 | + for (i = 0; i < settings.series.length; i++) { | |
| 110 | + format = settings.series[i].format; | |
| 111 | + if (!format || format == '') { | |
| 112 | + continue; | |
| 113 | + } | |
| 114 | + | |
| 115 | + formatter = null; | |
| 116 | + switch (series[i + 1].type) { | |
| 117 | + case 'number': | |
| 118 | + formatter = new g.visualization.NumberFormat({pattern: format}); | |
| 119 | + break; | |
| 120 | + case 'date': | |
| 121 | + case 'datetime': | |
| 122 | + case 'timeofday': | |
| 123 | + formatter = new g.visualization.DateFormat({pattern: format}); | |
| 124 | + break; | |
| 125 | + } | |
| 126 | + | |
| 127 | + if (formatter) { | |
| 128 | + formatter.format(table, i + 1); | |
| 129 | + } | |
| 130 | + } | |
| 131 | + } | |
| 107 | 132 | |
| 108 | 133 | render.draw(table, settings); |
| 109 | 134 | }; |
| 110 | 135 | |