From 50362940acb5f5ecd23574157d6ca410ef7636fc Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Fri, 9 Jun 2017 16:41:48 +0200
Subject: [PATCH] method for searching reactions by set of participating
 elements

---
 frontend-js/src/main/js/map/data/MapModel.js | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/frontend-js/src/main/js/map/data/MapModel.js b/frontend-js/src/main/js/map/data/MapModel.js
index 89752b0ec1..b6137d4703 100644
--- a/frontend-js/src/main/js/map/data/MapModel.js
+++ b/frontend-js/src/main/js/map/data/MapModel.js
@@ -700,9 +700,18 @@ MapModel.prototype.isAvailable = function(ie, complete) {
 };
 
 MapModel.prototype.getReactionsForElement = function(element, complete) {
+  return this.getReactionsForElements([ element ], complete);
+};
+
+MapModel.prototype.getReactionsForElements = function(elements, complete) {
   var self = this;
-  if (this._reactionsByParticipantElementId[element.getId()]) {
-    var reactions = self._reactionsByParticipantElementId[element.getId()];
+  var ids = [];
+  for (var i = 0; i < elements.length; i++) {
+    ids.push(elements[i].getId());
+  }
+  var idString = ids.join();
+  if (this._reactionsByParticipantElementId[idString]) {
+    var reactions = self._reactionsByParticipantElementId[idString];
     if (!complete) {
       return Promise.resolve(reactions);
     } else {
@@ -714,7 +723,7 @@ MapModel.prototype.getReactionsForElement = function(element, complete) {
     }
   }
   return ServerConnector.getReactions({
-    participantId : [ element.getId() ],
+    participantId : ids,
   }).then(function(reactions) {
     var promises = [];
     for (var i = 0; i < reactions.length; i++) {
-- 
GitLab