|
9 | 9 | }
|
10 | 10 |
|
11 | 11 | function renderSpecificChart(id, chart, v) {
|
12 |
| - var render, container, series, data, table, settings, i, j, row, date, axis, property, format, formatter; |
| 12 | + var render, container, series, data, table, settings, i, j, row, date, axis, property, format, formatter, type, rows, cols; |
13 | 13 |
|
14 | 14 | if(chart.library !== 'datatables'){
|
15 | 15 | return;
|
|
27 | 27 | $('#' + id).append($('<table class="dataTable table table-striped"></table>'));
|
28 | 28 | }
|
29 | 29 |
|
30 |
| - var cols = []; |
31 |
| - for (j = 0; j < series.length; j++) { |
32 |
| - var col = { title: series[j].label, data: series[j].label, type: series[j].type }; |
33 |
| - if(typeof chart.settings['cssClassNames'] !== 'undefined' && typeof chart.settings['cssClassNames']['tableCell'] !== 'undefined'){ |
34 |
| - col['className'] = chart.settings['cssClassNames']['tableCell']; |
35 |
| - } |
36 |
| - cols.push(col); |
37 |
| - } |
38 |
| - |
39 |
| - var rows = []; |
40 |
| - for (i = 0; i < data.length; i++) { |
41 |
| - row = []; |
42 |
| - for (j = 0; j < series.length; j++) { |
43 |
| - row[ series[j].label ] = data[i][j]; |
44 |
| - } |
45 |
| - rows.push(row); |
46 |
| - } |
47 |
| - |
48 | 30 | settings = {
|
49 | 31 | destroy: true,
|
50 | 32 | paging: false,
|
|
125 | 107 |
|
126 | 108 | $.extend( $.fn.dataTable.defaults, settings );
|
127 | 109 |
|
| 110 | + cols = []; |
| 111 | + for (j = 0; j < series.length; j++) { |
| 112 | + type = series[j].type; |
| 113 | + switch(type){ |
| 114 | + case 'number': |
| 115 | + type = 'num'; |
| 116 | + break; |
| 117 | + case 'date': |
| 118 | + case 'datetime': |
| 119 | + case 'timeofday': |
| 120 | + type = 'date'; |
| 121 | + break; |
| 122 | + } |
| 123 | + var col = { title: series[j].label, data: series[j].label, type: type }; |
| 124 | + if(typeof chart.settings['cssClassNames'] !== 'undefined' && typeof chart.settings['cssClassNames']['tableCell'] !== 'undefined'){ |
| 125 | + col['className'] = chart.settings['cssClassNames']['tableCell']; |
| 126 | + } |
| 127 | + cols.push(col); |
| 128 | + } |
| 129 | + |
| 130 | + rows = []; |
| 131 | + for (i = 0; i < data.length; i++) { |
| 132 | + row = []; |
| 133 | + for (j = 0; j < series.length; j++) { |
| 134 | + var datum = data[i][j]; |
| 135 | + if(typeof settings.series[j] !== 'undefined' && typeof settings.series[j].format !== 'undefined'){ |
| 136 | + datum = formatData(data[i][j], settings.series[j].type, settings.series[j].format); |
| 137 | + } |
| 138 | + row[ series[j].label ] = datum; |
| 139 | + } |
| 140 | + rows.push(row); |
| 141 | + } |
| 142 | + |
128 | 143 | // allow user to extend the settings.
|
129 | 144 | $('body').trigger('visualizer:chart:settings:extend', {id: id, chart: chart, settings: settings});
|
130 | 145 |
|
|
137 | 152 | $('.loader').remove();
|
138 | 153 | }
|
139 | 154 |
|
| 155 | + function formatData(datum, type, format){ |
| 156 | + switch(type){ |
| 157 | + case 'number': |
| 158 | + break; |
| 159 | + case 'date': |
| 160 | + case 'datetime': |
| 161 | + case 'timeofday': |
| 162 | + break; |
| 163 | + } |
| 164 | + return datum; |
| 165 | + } |
| 166 | + |
140 | 167 | function render(v) {
|
141 | 168 | for (var id in (all_charts || {})) {
|
142 | 169 | renderChart(id, v);
|
|
0 commit comments