PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 1.2.0
Visualizer – Tables & Charts Manager with Built-in AI Generator v1.2.0
4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.10.1 3.10.10 3.10.11 3.10.12 3.10.13 3.10.14 3.10.15 3.10.2 3.10.3 3.10.4 All 148 releases
visualizer / js / render.js

render.js in Visualizer – Tables & Charts Manager with Built-in AI Generator 1.2.0, at js/render.js

133 lines 2.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 (function(v, g) {
2 var gv;
3
4 v.objects = {};
5
6 v.renderChart = function(id) {
7 var chart, render, container, series, data, table, settings, i, j, row, date, axis, property;
8
9 chart = v.charts[id];
10 series = chart.series;
11 data = chart.data;
12 settings = chart.settings;
13
14 container = document.getElementById(id);
15 table = new gv.DataTable({cols: series});
16
17 render = v.objects[id] || null;
18 if (!render) {
19 render = chart.type == 'gauge'
20 ? 'Gauge'
21 : chart.type.charAt(0).toUpperCase() + chart.type.slice(1) + 'Chart';
22
23 render = new gv[render](container);
24 }
25
26 switch (v.charts[id].type) {
27 case 'pie':
28 if (settings.slices) {
29 for (i in settings.slices) {
30 if (settings.slices[i]['color'] == '') {
31 delete settings.slices[i]['color'];
32 }
33 }
34 }
35 break;
36 case 'line':
37 case 'bar':
38 case 'column':
39 case 'area':
40 case 'scatter':
41 case 'candlestick':
42 if (settings.series) {
43 for (i in settings.series) {
44 if (settings.series[i]['color'] == '') {
45 delete settings.series[i]['color'];
46 }
47 }
48 }
49 break;
50 case 'geo':
51 if (settings.region != undefined && settings.region.replace(/^\s+|\s+$/g, '') == '') {
52 settings['region'] = 'world';
53 }
54 break;
55 case 'gauge':
56 break;
57 default:
58 return;
59 }
60
61 if (series[0].type == 'date' || series[0].type == 'datetime') {
62 axis = false;
63 switch (v.charts[id].type) {
64 case 'line':
65 case 'area':
66 case 'scatter':
67 case 'candlestick':
68 case 'column':
69 axis = settings.hAxis;
70 break;
71 case 'bar':
72 axis = settings.vAxis;
73 break;
74 }
75
76 if (axis) {
77 for (property in axis.viewWindow) {
78 date = new Date(axis.viewWindow[property]);
79 if (Object.prototype.toString.call(date) === "[object Date]") {
80 if (!isNaN(date.getTime())) {
81 axis.viewWindow[property] = date;
82 continue;
83 }
84 }
85
86 delete axis.viewWindow[property];
87 }
88 }
89 }
90
91 for (i = 0; i < data.length; i++) {
92 row = [];
93 for (j = 0; j < series.length; j++) {
94 if (series[j].type == 'date' || series[j].type == 'datetime') {
95 date = new Date(data[i][j]);
96 data[i][j] = null;
97 if (Object.prototype.toString.call(date) === "[object Date]") {
98 if (!isNaN(date.getTime())) {
99 data[i][j] = date;
100 }
101 }
102 }
103 row.push(data[i][j]);
104 }
105 table.addRow(row);
106 }
107
108 render.draw(table, settings);
109 };
110
111 v.render = function() {
112 for (var id in (v.charts || {})) {
113 v.renderChart(id);
114 }
115 };
116
117 g.load("visualization", "1", {packages: ["corechart", "geochart", "gauge"]});
118 g.setOnLoadCallback(function() {
119 gv = g.visualization;
120 v.render();
121 });
122 })(visualizer, google);
123
124 (function($, v) {
125 var resizeTimeout;
126
127 $(document).ready(function() {
128 $(window).resize(function() {
129 clearTimeout(resizeTimeout);
130 resizeTimeout = setTimeout(v.render, 100);
131 });
132 });
133 })(jQuery, visualizer);