Files
galaxy/static/scripts/mvc/visualization/chart/views/menu.js
T
2018-05-23 15:37:14 -04:00

1 line
3.5 KiB
JavaScript

define("mvc/visualization/chart/views/menu",["exports","mvc/ui/ui-misc","mvc/visualization/chart/components/screenshot","utils/utils"],function(t,e,i,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(t,"__esModule",{value:!0});var o=a(e),s=a(i);a(n);t.default=Backbone.View.extend({initialize:function(t){var e=this;this.app=t,this.model=new Backbone.Model({visible:!0}),this.execute_button=new o.default.ButtonIcon({icon:"fa-check-square",tooltip:"Confirm",onclick:function(){t.chart.trigger("redraw",!0)}}),this.export_button=new o.default.ButtonMenu({icon:"fa-camera",tooltip:"Export"}),this.export_button.addMenu({key:"png",title:"Save as PNG",icon:"fa-file",onclick:function(){e._wait(t.chart,function(){s.default.createPNG({$el:t.viewer.$el,title:t.chart.get("title"),error:function(e){t.message.update({message:e,status:"danger"})}})})}}),this.export_button.addMenu({key:"svg",title:"Save as SVG",icon:"fa-file-text-o",onclick:function(){e._wait(t.chart,function(){s.default.createSVG({$el:t.viewer.$el,title:t.chart.get("title"),error:function(e){t.message.update({message:e,status:"danger"})}})})}}),this.export_button.addMenu({key:"pdf",title:"Save as PDF",icon:"fa-file-o",onclick:function(){t.modal.show({title:"Send visualization data for PDF creation",body:"Galaxy does not provide integrated PDF export scripts. You may click 'Continue' to create the PDF by using a 3rd party service (https://export.highcharts.com).",buttons:{Cancel:function(){t.modal.hide()},Continue:function(){t.modal.hide(),e._wait(t.chart,function(){s.default.createPDF({$el:t.viewer.$el,title:t.chart.get("title"),error:function(e){t.message.update({message:e,status:"danger"})}})})}}})}}),this.left_button=new o.default.ButtonIcon({icon:"fa-angle-double-left",tooltip:"Show",onclick:function(){e.model.set("visible",!0),window.dispatchEvent(new Event("resize"))}}),this.right_button=new o.default.ButtonIcon({icon:"fa-angle-double-right",tooltip:"Hide",onclick:function(){e.model.set("visible",!1),window.dispatchEvent(new Event("resize"))}}),this.save_button=new o.default.ButtonIcon({icon:"fa-save",tooltip:"Save",onclick:function(){t.chart.get("title")?(t.message.update({message:"Saving '"+t.chart.get("title")+"'. It will appear in the list of 'Saved Visualizations'.",status:"success"}),t.chart.save({error:function(){t.message.update({message:"Could not save visualization.",status:"danger"})}})):t.message.update({message:"Please provide a name.",status:"danger"})}}),this.buttons=[this.left_button,this.right_button,this.execute_button,this.export_button,this.save_button],this.setElement("<div/>");var i=!0,n=!1,a=void 0;try{for(var r,l=this.buttons[Symbol.iterator]();!(i=(r=l.next()).done);i=!0){var u=r.value;this.$el.append(u.$el)}}catch(t){n=!0,a=t}finally{try{!i&&l.return&&l.return()}finally{if(n)throw a}}this.listenTo(this.model,"change",function(){return e.render()}),this.render()},render:function(){var t=this.model.get("visible");this.app.$el[t?"removeClass":"addClass"]("charts-fullscreen"),this.execute_button.model.set("visible",t&&!!this.app.chart.plugin.specs.confirm),this.save_button.model.set("visible",t),this.export_button.model.set("visible",t),this.right_button.model.set("visible",t),this.left_button.model.set("visible",!t);var e=this.app.chart.plugin.specs.exports||[];this.export_button.collection.each(function(t){t.set("visible",-1!==e.indexOf(t.get("key")))})},_wait:function(t,e){this.app.deferred.ready()?e():this.app.message.update({message:"Your visualization is currently being processed. Please wait and try again."})}})});