changeset 4802:2ce5c727b465

client: hydrologicalcondition: implement image-export and improve file naming
author Fadi Abbud <fadi.abbud@intevation.de>
date Mon, 28 Oct 2019 10:20:24 +0100
parents b23414a3b333
children b3f65cff13e8
files client/src/components/gauge/HydrologicalConditions.vue
diffstat 1 files changed, 24 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/client/src/components/gauge/HydrologicalConditions.vue	Mon Oct 28 10:02:51 2019 +0100
+++ b/client/src/components/gauge/HydrologicalConditions.vue	Mon Oct 28 10:20:24 2019 +0100
@@ -75,10 +75,21 @@
             { disabled: !longtermWaterlevels.length }
           ]"
           :href="csvLink"
-          :download="csvFileName"
+          :download="`${fileName}.csv`"
         >
           <translate>Export as CSV</translate>
         </a>
+        <a
+          @click="downloadImage"
+          id="downloadimage"
+          :class="[
+            'btn btn-sm btn-info text-white d-block w-100 mt-2',
+            { disabled: !longtermWaterlevels.length }
+          ]"
+          :download="`${fileName}.png`"
+        >
+          <translate>Export as Image</translate>
+        </a>
       </DiagramLegend>
       <div
         class="d-flex flex-fill justify-content-center align-items-center"
@@ -163,13 +174,11 @@
     csvLink() {
       return "data:text/csv;charset=utf-8," + encodeURIComponent(this.csvData);
     },
-    csvFileName() {
+    fileName() {
       if (!this.selectedGaugeD || !this.longtermIntervalD) return;
-      return (
-        this.downloadFilename(
-          this.$gettext("HydrologicalCondition"),
-          this.selectedGaugeD.properties.objname
-        ) + ".csv"
+      return this.downloadFilename(
+        this.$gettext("HydrologicalCondition"),
+        this.selectedGaugeD.properties.objname
       );
     },
     csvData() {
@@ -236,12 +245,7 @@
         templateData: this.templateData,
         diagramTitle: diagramTitle
       });
-      this.pdf.doc.save(
-        this.downloadFilename(
-          this.$gettext("HydrologicalConditions"),
-          this.selectedGaugeD.properties.objname
-        ) + ".pdf"
-      );
+      this.pdf.doc.save(this.fileName + ".pdf");
     },
     applyChange() {
       if (this.form.template.hasOwnProperty("properties")) {
@@ -374,6 +378,13 @@
         .attr("width", "100%")
         .attr("height", "100%");
 
+      svg
+        .append("g")
+        .append("rect")
+        .attr("width", "100%")
+        .attr("height", "100%")
+        .attr("fill", "#ffffff");
+
       // create container for main diagram
       const diagram = svg
         .append("g")