changeset 5264:528fa710650b

client: disable PDF Generation button while layers still loading * Avoid generating pdf from unfinished map rendering.
author Fadi Abbud <fadi.abbud@intevation.de>
date Thu, 04 Jun 2020 11:29:37 +0200
parents 19715261750e
children a97e79a07579 41a67619c170
files client/src/components/Pdftool.vue
diffstat 1 files changed, 12 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/client/src/components/Pdftool.vue	Fri May 29 14:02:45 2020 +0200
+++ b/client/src/components/Pdftool.vue	Thu Jun 04 11:29:37 2020 +0200
@@ -70,6 +70,7 @@
           type="button"
           v-if="readyToGenerate"
           class="btn btn-sm btn-info d-block w-100 mt-2"
+          :disabled="sourcesLoading > 0"
         >
           <translate>Generate PDF</translate>
         </button>
@@ -204,10 +205,20 @@
       "selectedSurvey",
       "bottleneckForPrint"
     ]),
-    ...mapState("map", ["isolinesLegendImgDataURL"]),
+    ...mapState("map", ["isolinesLegendImgDataURL", "openLayersMaps"]),
     ...mapGetters("map", ["openLayersMap"]),
     generatePdfLable() {
       return this.$gettext("Generate PDF");
+    },
+    sourcesLoading() {
+      let counter = 0;
+      this.openLayersMaps.forEach(map => {
+        let layers = map.getLayers().getArray();
+        for (let i = 0; i < layers.length; i++) {
+          if (layers[i].getSource().loading) counter++;
+        }
+      });
+      return counter;
     }
   },
   methods: {