[Enhancement] Hide export buttons during export

Buttons temporarily hide until export completes.
This commit is contained in:
David Hudson 2016-09-02 20:41:38 +09:00
parent 3736f84c12
commit de85f79ab6
3 changed files with 28 additions and 7 deletions

View File

@ -21,7 +21,7 @@
-->
<span ng-controller="PlotController as plot"
class="abs holder holder-plot">
<span class="l-btn-set">
<span class="l-btn-set" ng-show="!plot.hideExportButtons">
<a class="s-button t-export icon-download labeled first"
ng-click="plot.exportJPG()"
title="Export This View's Data as JPG">

View File

@ -373,21 +373,33 @@ define(
* Export the plot to PDF
*/
PlotController.prototype.exportPDF = function () {
this.ExportImageService.exportPDF(this.$element[0], "plot.pdf");
var self = this;
self.hideExportButtons = true;
self.ExportImageService.exportPDF(self.$element[0], "plot.pdf", function() {
self.hideExportButtons = false;
});
};
/**
* Export the plot to PNG
*/
PlotController.prototype.exportPNG = function () {
this.ExportImageService.exportPNG(this.$element[0], "plot.png");
var self = this;
self.hideExportButtons = true;
self.ExportImageService.exportPNG(self.$element[0], "plot.png", function() {
self.hideExportButtons = false;
});
};
/**
* Export the plot to JPG
*/
PlotController.prototype.exportJPG = function () {
this.ExportImageService.exportJPG(this.$element[0], "plot.jpg");
var self = this;
self.hideExportButtons = true;
self.ExportImageService.exportJPG(self.$element[0], "plot.jpg", function() {
self.hideExportButtons = false;
});
};
return PlotController;

View File

@ -71,23 +71,32 @@ define(
});
}
ExportImageService.prototype.exportPDF = function (element, filename) {
ExportImageService.prototype.exportPDF = function (element, filename, callback) {
callback = typeof callback === "function" ? callback : function () {};
renderElement(element, function (img) {
var pdf = new jsPDF("l", "px", [element.offsetHeight, element.offsetWidth]);
pdf.addImage(img, "JPEG", 0, 0, element.offsetWidth, element.offsetHeight);
pdf.save(filename);
callback();
}, "jpeg");
};
ExportImageService.prototype.exportJPG = function (element, filename) {
ExportImageService.prototype.exportJPG = function (element, filename, callback) {
callback = typeof callback === "function" ? callback : function () {};
renderElement(element, function (img) {
saveAs(img, filename);
callback();
}, "blob");
};
ExportImageService.prototype.exportPNG = function (element, filename) {
ExportImageService.prototype.exportPNG = function (element, filename, callback) {
callback = typeof callback === "function" ? callback : function () {};
renderElement(element, function (img) {
saveAs(img, filename);
callback();
}, "blob");
};