PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 2.1.1
Visualizer – Tables & Charts Manager with Built-in AI Generator v2.1.1
4.0.8 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 All 149 releases
← All changes | js/render.js +6 -143 3.0.52.1.1 View file →
@@ -1,7 +1,6 @@
1 1 /* global google */
2 2 /* global visualizer */
3 -/* global console */
4 3 (function(v, g) {
5 4 var gv;
6 5
7 6 v.objects = {};
@@ -35,9 +34,9 @@
35 34
36 35 render = new gv[render](container);
37 36 }
38 37
39 - switch (chart.type) {
38 + switch (v.charts[id].type) {
40 39 case 'pie':
41 40 if (settings.slices) {
42 41 for (i in settings.slices) {
43 42 if (settings.slices[i]['color'] === '') {
@@ -109,9 +108,9 @@
109 108 }
110 109
111 110 if (series[0] && (series[0].type === 'date' || series[0].type === 'datetime')) {
112 111 axis = false;
113 - switch (chart.type) {
112 + switch (v.charts[id].type) {
114 113 case 'line':
115 114 case 'area':
116 115 case 'scatter':
117 116 case 'candlestick':
@@ -139,19 +138,15 @@
139 138 }
140 139
141 140 if(settings.hAxis){
142 141 if(settings.hAxis.textStyle && settings.hAxis.textStyle !== ''){
143 - if(typeof(settings.hAxis.textStyle) === "string") {
144 - settings.hAxis.textStyle = {color: settings.hAxis.textStyle};
145 - }
142 + settings.hAxis.textStyle = {color: settings.hAxis.textStyle};
146 143 }
147 144 }
148 145
149 146 if(settings.vAxis){
150 147 if(settings.vAxis.textStyle && settings.vAxis.textStyle !== ''){
151 - if(typeof(settings.vAxis.textStyle) === "string") {
152 - settings.vAxis.textStyle = {color: settings.vAxis.textStyle};
153 - }
148 + settings.vAxis.textStyle = {color: settings.vAxis.textStyle};
154 149 }
155 150 }
156 151
157 152 for (i = 0; i < data.length; i++) {
@@ -193,30 +188,13 @@
193 188 if (formatter) {
194 189 formatter.format(table, i + 1);
195 190 }
196 191 }
197 - } else if (chart.type === 'pie' && settings.format && settings.format !== '') {
198 - formatter = new g.visualization.NumberFormat({pattern: settings.format});
199 - formatter.format(table, 1);
200 - }
192 + }
201 193
202 - v.override(settings);
203 -
204 194 render.draw(table, settings);
205 195 };
206 196
207 - v.override = function(settings) {
208 - if (settings.manual) {
209 - try{
210 - var options = JSON.parse(settings.manual);
211 - jQuery.extend(settings, options);
212 - delete settings.manual;
213 - }catch(error){
214 - console.error("Error while adding manual configuration override " + settings.manual);
215 - }
216 - }
217 - };
218 -
219 197 v.render = function() {
220 198 for (var id in (v.charts || {})) {
221 199 v.renderChart(id);
222 200 }
@@ -238,9 +216,8 @@
238 216 resizeTimeout = setTimeout(v.render, 100);
239 217 });
240 218
241 219 resizeHiddenContainers(true);
242 - initActionsButtons();
243 220 });
244 221
245 222 $(window).load(function(){
246 223 resizeHiddenContainers(true);
@@ -245,73 +222,8 @@
245 222 $(window).load(function(){
246 223 resizeHiddenContainers(true);
247 224 });
248 225
249 - function initActionsButtons() {
250 - if($('a.visualizer-action[data-visualizer-type=copy]').length > 0) {
251 - var clipboard = new Clipboard('a.visualizer-action[data-visualizer-type=copy]'); // jshint ignore:line
252 - clipboard.on('success', function(e) {
253 - window.alert(v.i10n['copied']);
254 - });
255 - }
256 - $('a.visualizer-action[data-visualizer-type!=copy]').on('click', function(e) {
257 - var type = $(this).attr( 'data-visualizer-type' );
258 - var chart = $(this).attr( 'data-visualizer-chart-id' );
259 - var lock = $('.visualizer-front.visualizer-front-' + chart);
260 - lock.lock();
261 - e.preventDefault();
262 - $.ajax({
263 - url : v.rest_url.replace('#id#', chart).replace('#type#', type),
264 - success: function(data) {
265 - if (data && data.data) {
266 - switch(type){
267 - case 'csv':
268 - var a = document.createElement("a");
269 - document.body.appendChild(a);
270 - a.style = "display: none";
271 - var blob = new Blob([data.data.csv], {type: $(this).attr( 'data-visualizer-mime' ) }),
272 - url = window.URL.createObjectURL(blob);
273 - a.href = url;
274 - a.download = data.data.name;
275 - a.click();
276 - setTimeout(function () {
277 - window.URL.revokeObjectURL(url);
278 - }, 100);
279 - break;
280 - case 'xls':
281 - var $a = $("<a>");
282 - $a.attr("href",data.data.csv);
283 - $("body").append($a);
284 - $a.attr("download",data.data.name);
285 - $a[0].click();
286 - $a.remove();
287 - break;
288 - case 'print':
289 - var iframe = $('<iframe>').attr("name", "print-visualization").attr("id", "print-visualization").css("position", "absolute");
290 - iframe.appendTo($('body'));
291 - var iframe_doc = iframe.get(0).contentWindow || iframe.get(0).contentDocument.document || iframe.get(0).contentDocument;
292 - iframe_doc.document.open();
293 - iframe_doc.document.write(data.data.csv);
294 - iframe_doc.document.close();
295 - setTimeout(function(){
296 - window.frames['print-visualization'].focus();
297 - window.frames['print-visualization'].print();
298 - iframe.remove();
299 - }, 500);
300 - break;
301 - default:
302 - if(window.visualizer_perform_action) {
303 - window.visualizer_perform_action(type, chart, data.data);
304 - }
305 - break;
306 - }
307 - }
308 - lock.unlock();
309 - }
310 - });
311 - });
312 - }
313 -
314 226 function resizeHiddenContainers(everytime){
315 227 $(".visualizer-front").parents().each(function(){
316 228 if(!$(this).is(":visible") && !$(this).hasClass("visualizer-hidden-container")){
317 229 $(this).addClass("visualizer-hidden-container");
@@ -336,54 +248,5 @@
336 248 mutateObserver.observe($(this)[0], {attributes: true});
337 249 });
338 250 }
339 251
340 -})(jQuery, visualizer);
341 -
342 -(function ($) {
343 - $.fn.lock = function () {
344 - $(this).each(function () {
345 - var $this = $(this);
346 - var position = $this.css('position');
347 -
348 - if (!position) {
349 - position = 'static';
350 - }
351 -
352 - switch (position) {
353 - case 'absolute':
354 - case 'relative':
355 - break;
356 - default:
357 - $this.css('position', 'relative');
358 - break;
359 - }
360 - $this.data('position', position);
361 -
362 - var width = $this.width(),
363 - height = $this.height();
364 -
365 - var locker = $('<div class="locker"></div>');
366 - locker.width(width).height(height);
367 -
368 - var loader = $('<div class="locker-loader"></div>');
369 - loader.width(width).height(height);
370 -
371 - locker.append(loader);
372 - $this.append(locker);
373 - $(window).resize(function () {
374 - $this.find('.locker,.locker-loader').width($this.width()).height($this.height());
375 - });
376 - });
377 -
378 - return $(this);
379 - };
380 -
381 - $.fn.unlock = function () {
382 - $(this).each(function () {
383 - $(this).find('.locker').remove();
384 - $(this).css('position', $(this).data('position'));
385 - });
386 -
387 - return $(this);
388 - };
389 -})(jQuery);
252 +})(jQuery, visualizer);