From 9184eb831507b3435561e59c016310cd5a6c07f3 Mon Sep 17 00:00:00 2001
From: pkupczyk <piotr.kupczyk@id.ethz.ch>
Date: Wed, 1 Dec 2021 18:22:24 +0100
Subject: [PATCH] SSDM-12024 : Table Widget : Global filter with AND/OR options
 (as in the old grid) - also use a quiet period before reloading a local grid

---
 .../components/common/grid/GridController.js  | 25 +++++++++----------
 1 file changed, 12 insertions(+), 13 deletions(-)

diff --git a/openbis_ng_ui/src/js/components/common/grid/GridController.js b/openbis_ng_ui/src/js/components/common/grid/GridController.js
index 7a4aa124ea1..cb051ac674c 100644
--- a/openbis_ng_ui/src/js/components/common/grid/GridController.js
+++ b/openbis_ng_ui/src/js/components/common/grid/GridController.js
@@ -8,7 +8,8 @@ import GridPagingOptions from '@src/js/components/common/grid/GridPagingOptions.
 import GridSortingOptions from '@src/js/components/common/grid/GridSortingOptions.js'
 import compare from '@src/js/common/compare.js'
 
-const FILTER_RELOAD_PERIOD = 500
+const LOCAL_GRID_RELOAD_PERIOD = 200
+const REMOTE_GRID_RELOAD_PERIOD = 500
 
 export default class GridController {
   constructor() {
@@ -715,13 +716,12 @@ export default class GridController {
       this.loadTimerId = null
     }
 
-    if (local) {
-      await this.load()
-    } else {
-      this.loadTimerId = setTimeout(async () => {
+    this.loadTimerId = setTimeout(
+      async () => {
         await this.load()
-      }, FILTER_RELOAD_PERIOD)
-    }
+      },
+      local ? LOCAL_GRID_RELOAD_PERIOD : REMOTE_GRID_RELOAD_PERIOD
+    )
   }
 
   async handleGlobalFilterChange(globalFilter) {
@@ -737,13 +737,12 @@ export default class GridController {
       this.loadTimerId = null
     }
 
-    if (local) {
-      await this.load()
-    } else {
-      this.loadTimerId = setTimeout(async () => {
+    this.loadTimerId = setTimeout(
+      async () => {
         await this.load()
-      }, FILTER_RELOAD_PERIOD)
-    }
+      },
+      local ? LOCAL_GRID_RELOAD_PERIOD : REMOTE_GRID_RELOAD_PERIOD
+    )
   }
 
   async handleColumnVisibleChange(name) {
-- 
GitLab