From ccba9a801a245671de5d9762ccfe9e731f975dcc Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Thu, 25 Jan 2018 10:38:15 +0100
Subject: [PATCH] add busy icon when search is performed in search tab

---
 .../src/main/js/gui/leftPanel/AbstractDbPanel.js   | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/frontend-js/src/main/js/gui/leftPanel/AbstractDbPanel.js b/frontend-js/src/main/js/gui/leftPanel/AbstractDbPanel.js
index 0bfead2f5f..a73bc3a727 100644
--- a/frontend-js/src/main/js/gui/leftPanel/AbstractDbPanel.js
+++ b/frontend-js/src/main/js/gui/leftPanel/AbstractDbPanel.js
@@ -32,7 +32,11 @@ AbstractPanel.prototype._createEventHandlers = function () {
   var searchInput = self.getControlElement(PanelControlElementType.SEARCH_INPUT);
 
   var searchByQuery = function () {
-    return self.searchByQuery();
+    var busyImage = $("[name=busyImage]", self.getElement());
+    busyImage.show();
+    return self.searchByQuery().finally(function () {
+      busyImage.hide();
+    });
   };
 
   searchButton.onclick = searchByQuery;
@@ -75,6 +79,14 @@ AbstractPanel.prototype._initializeGui = function (placeholder) {
   this.getElement().appendChild(searchQueryDiv);
   this.setControlElement(PanelControlElementType.SEARCH_DIV, searchQueryDiv);
 
+  var busyImage = Functions.createElement({
+    type: "img",
+    name: "busyImage",
+    style: "display:block;position: absolute;margin-left: 80px;z-index: 10;display:none",
+    src: "resources/images/icons/ajax-loader.gif"
+  });
+  searchQueryDiv.appendChild(busyImage);
+
   var searchLabel = Functions.createElement({
     type: "div",
     name: "searchLabel",
-- 
GitLab