/* global console */ /* global visualizer */ /* global jQuery */ (function($, visualizer){ function initActionsButtons(v) { if($('a.visualizer-action[data-visualizer-type=copy]').length > 0) { var clipboard = new Clipboard('a.visualizer-action[data-visualizer-type=copy]'); // jshint ignore:line clipboard.on('success', function(e) { window.alert(v.i10n['copied']); }); } $('a.visualizer-action[data-visualizer-type!=copy]').on('click', function(e) { var type = $(this).attr( 'data-visualizer-type' ); var chart = $(this).attr( 'data-visualizer-chart-id' ); var lock = $('.visualizer-front.visualizer-front-' + chart); lock.lock(); e.preventDefault(); $.ajax({ url : v.rest_url.replace('#id#', chart).replace('#type#', type), success: function(data) { if (data && data.data) { switch(type){ case 'csv': var a = document.createElement("a"); document.body.appendChild(a); a.style = "display: none"; var blob = new Blob([data.data.csv], {type: $(this).attr( 'data-visualizer-mime' ) }), url = window.URL.createObjectURL(blob); a.href = url; a.download = data.data.name; a.click(); setTimeout(function () { window.URL.revokeObjectURL(url); }, 100); break; case 'xls': var $a = $(""); $a.attr("href",data.data.csv); $("body").append($a); $a.attr("download",data.data.name); $a[0].click(); $a.remove(); break; case 'print': var iframe = $('