From e3702710930eeb8cab1e70e75724ef26068eed86 Mon Sep 17 00:00:00 2001 From: David Hudson Date: Fri, 2 Sep 2016 11:54:38 +0900 Subject: [PATCH] [Code Review] Updates based on code review by @VWoeltjen Set export functions on the ExportImageService prototype. Insantiated ExportImageService in the PlotController for better dependcy injection. --- .../features/plot/res/templates/plot.html | 6 ++--- platform/features/plot/src/PlotController.js | 25 ++++++------------- .../plot/src/services/ExportImageService.js | 6 ++--- 3 files changed, 13 insertions(+), 24 deletions(-) diff --git a/platform/features/plot/res/templates/plot.html b/platform/features/plot/res/templates/plot.html index c4b5321226..e1a712cbee 100644 --- a/platform/features/plot/res/templates/plot.html +++ b/platform/features/plot/res/templates/plot.html @@ -22,17 +22,17 @@ Export as PDF Export as PNG Export as JPG diff --git a/platform/features/plot/src/PlotController.js b/platform/features/plot/src/PlotController.js index 0e134c05e9..0c721f01fd 100644 --- a/platform/features/plot/src/PlotController.js +++ b/platform/features/plot/src/PlotController.js @@ -250,6 +250,7 @@ define( self.pending = true; self.$element = $element; + self.ExportImageService = new ExportImageService(); // Initialize axes; will get repopulated when telemetry // metadata becomes available. @@ -258,18 +259,6 @@ define( new PlotAxis("ranges", [], AXIS_DEFAULTS[1]) ]; - $scope.exportPDF = function () { - PlotController.prototype.exportPDF(self.$element, 'plot.pdf'); - }; - - $scope.exportPNG = function () { - PlotController.prototype.exportPNG(self.$element, 'plot.png'); - }; - - $scope.exportJPG = function () { - PlotController.prototype.exportJPG(self.$element, 'plot.jpg'); - }; - // Watch for changes to the selected axis $scope.$watch("axes[0].active.key", domainRequery); $scope.$watch("axes[1].active.key", rangeRequery); @@ -383,22 +372,22 @@ define( /** * Export the plot to PDF */ - PlotController.prototype.exportPDF = function (element, filename) { - ExportImageService.exportPDF(element[0], filename); + PlotController.prototype.exportPDF = function () { + this.ExportImageService.exportPDF(this.$element[0], 'plot.pdf'); }; /** * Export the plot to PNG */ - PlotController.prototype.exportPNG = function (element, filename) { - ExportImageService.exportPNG(element, filename); + PlotController.prototype.exportPNG = function () { + this.ExportImageService.exportPNG(this.$element[0], 'plot.png'); }; /** * Export the plot to JPG */ - PlotController.prototype.exportJPG = function (element, filename) { - ExportImageService.exportJPG(element, filename); + PlotController.prototype.exportJPG = function () { + this.ExportImageService.exportJPG(this.$element[0], 'plot.jpg'); }; return PlotController; diff --git a/platform/features/plot/src/services/ExportImageService.js b/platform/features/plot/src/services/ExportImageService.js index 2f55c4eaad..7721714b52 100644 --- a/platform/features/plot/src/services/ExportImageService.js +++ b/platform/features/plot/src/services/ExportImageService.js @@ -71,7 +71,7 @@ define( }); } - ExportImageService.exportPDF = function (element, filename) { + ExportImageService.prototype.exportPDF = function (element, filename) { renderElement(element, function (img) { var pdf = new jsPDF('l', 'px', [element.offsetHeight, element.offsetWidth]); pdf.addImage(img, 'JPEG', 0, 0, element.offsetWidth, element.offsetHeight); @@ -79,13 +79,13 @@ define( }, 'jpeg'); }; - ExportImageService.exportJPG = function (element, filename) { + ExportImageService.prototype.exportJPG = function (element, filename) { renderElement(element, function (img) { saveAs(img, filename); }, "blob"); }; - ExportImageService.exportPNG = function (element, filename) { + ExportImageService.prototype.exportPNG = function (element, filename) { renderElement(element, function (img) { saveAs(img, filename); }, "blob");