changeset 2748:c6695d6e9334

import_overview: filtering date interval via backend
author Thomas Junk <thomas.junk@intevation.de>
date Thu, 21 Mar 2019 11:34:48 +0100
parents fb5deecb77f1
children cd789302b3e2
files client/src/components/importoverview/ImportOverview.vue client/src/store/imports.js
diffstat 2 files changed, 23 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/client/src/components/importoverview/ImportOverview.vue	Wed Mar 20 17:19:59 2019 +0100
+++ b/client/src/components/importoverview/ImportOverview.vue	Thu Mar 21 11:34:48 2019 +0100
@@ -136,7 +136,8 @@
   endOfDay,
   addDays,
   subDays,
-  isFuture
+  isFuture,
+  format
 } from "date-fns";
 
 export default {
@@ -191,6 +192,7 @@
           this.laterPossible = true;
           break;
       }
+      this.loadLogs();
     },
     later() {
       let start, end;
@@ -235,6 +237,7 @@
           this.endDate = isFuture(end) ? now : end;
           break;
       }
+      this.loadLogs();
     },
     filteredImports() {
       return this.imports.filter(i => {
@@ -246,7 +249,11 @@
     loadLogs() {
       this.loading = true;
       this.$store
-        .dispatch("imports/getImports", this.filters)
+        .dispatch("imports/getImports", {
+          filter: this.filters,
+          from: format(this.startDate, "YYYY-MM-DDTHH:mm:ss.SSS"),
+          to: format(this.endDate, "YYYY-MM-DDTHH:mm:ss.SSS")
+        })
         .then(() => {
           this.loading = false;
         })
@@ -346,9 +353,10 @@
           this.endDate = now;
           break;
       }
+      this.loadLogs();
     },
     filters() {
-      this.$store.dispatch("imports/getImports", this.filters);
+      this.loadLogs();
     }
   },
   mounted() {
--- a/client/src/store/imports.js	Wed Mar 20 17:19:59 2019 +0100
+++ b/client/src/store/imports.js	Thu Mar 21 11:34:48 2019 +0100
@@ -215,15 +215,25 @@
           });
       });
     },
-    getImports({ commit }, filter) {
+    getImports({ commit }, options) {
+      let { filter, from, to } = options;
       let queryParams = "";
       const hasWarning = filter.includes("warning");
       filter = filter.filter(x => x != "warning");
       if (filter && filter.length > 0) {
         queryParams = "?states=" + filter.join(",");
         if (hasWarning) queryParams += "&warnings=true";
+        queryParams += "&from=" + from;
+        queryParams += "&to=" + to;
       } else {
-        if (hasWarning) queryParams += "?warnings=true";
+        if (hasWarning) {
+          queryParams += "?warnings=true";
+          queryParams += "&from=" + from;
+          queryParams += "&to=" + to;
+        } else {
+          queryParams += "?from=" + from;
+          queryParams += "&to=" + to;
+        }
       }
       return new Promise((resolve, reject) => {
         HTTP.get("/imports" + queryParams, {