PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 1.0.1
Visualizer – Tables & Charts Manager with Built-in AI Generator v1.0.1
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.0.1, at js/render.js

103 lines 2.2 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;
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 for (i = 0; i < data.length; i++) {
62 row = [];
63 for (j = 0; j < series.length; j++) {
64 if (series[j].type == 'date' || series[j].type == 'datetime') {
65 date = new Date(data[i][j]);
66 data[i][j] = null;
67 if (Object.prototype.toString.call(date) === "[object Date]") {
68 if (!isNaN(date.getTime())) {
69 data[i][j] = date;
70 }
71 }
72 }
73 row.push(data[i][j]);
74 }
75 table.addRow(row);
76 }
77
78 render.draw(table, settings);
79 };
80
81 v.render = function() {
82 for (var id in (v.charts || {})) {
83 v.renderChart(id);
84 }
85 };
86
87 g.load("visualization", "1", {packages: ["corechart", "geochart", "gauge"]});
88 g.setOnLoadCallback(function() {
89 gv = g.visualization;
90 v.render();
91 });
92 })(visualizer, google);
93
94 (function($, v) {
95 var resizeTimeout;
96
97 $(document).ready(function() {
98 $(window).resize(function() {
99 clearTimeout(resizeTimeout);
100 resizeTimeout = setTimeout(v.render, 100);
101 });
102 });
103 })(jQuery, visualizer);