From 17360226b352db87e0cbf54abfe26502db2ec500 Mon Sep 17 00:00:00 2001
From: Hermann <blumh@ethz.ch>
Date: Sun, 5 Aug 2018 22:40:23 +0200
Subject: [PATCH] merge all selected filtergroups into 1 query

---
 src/views/tableView.js | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/views/tableView.js b/src/views/tableView.js
index d24975b..2817174 100644
--- a/src/views/tableView.js
+++ b/src/views/tableView.js
@@ -101,6 +101,15 @@ export default class TableView {
   }
 
 
+  getSelectedFilteQuery() {
+    // produce a list of queries from the filters that are currently selected
+    const selectedFilters = [].concat(...this.filters.map(filterGroup =>
+      filterGroup.filter(filter => filter.selected === true).map(filter => filter.query)));
+    // now merge all queries into one new object
+    return Object.assign({}, ...selectedFilters);
+  }
+
+
   view({
     attrs: {
       controller,
@@ -167,12 +176,11 @@ export default class TableView {
                 });
                 // now set this filter to selected
                 this.filters[filterGroupIdx][filterIdx].selected = true;
-                console.log('filter set: ', thisFilter.query);
-                controller.setFilter(thisFilter.query);
               } else {
                 this.filters[filterGroupIdx][filterIdx].selected = false;
-                controller.setFilter({});
               }
+              // update filters in controller
+              controller.setFilter(this.getSelectedFilteQuery());
             },
           }, thisFilter.name);
         })))),
-- 
GitLab