From bb88002a9c03cba98b94862cf5453d1a08e05bf5 Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Fri, 3 Feb 2017 11:25:23 +0100
Subject: [PATCH] comments checkbox moved from customMap

---
 frontend-js/src/main/js/map/CustomMap.js      | 35 -------------------
 frontend-js/src/main/js/minerva.js            | 18 ++++++++++
 frontend-js/src/test/js/helper.js             | 13 +++++--
 frontend-js/src/test/js/map/CustomMap-test.js |  6 ----
 frontend-js/src/test/js/minerva-test.js       |  8 +++++
 web/src/main/webapp/index.xhtml               | 26 ++++++++++----
 6 files changed, 57 insertions(+), 49 deletions(-)

diff --git a/frontend-js/src/main/js/map/CustomMap.js b/frontend-js/src/main/js/map/CustomMap.js
index 64bd0d8d6e..f4a27abf99 100644
--- a/frontend-js/src/main/js/map/CustomMap.js
+++ b/frontend-js/src/main/js/map/CustomMap.js
@@ -291,43 +291,8 @@ CustomMap.prototype.createMapMenu = function() {
 
   var rightHeaderMenu = document.createElement('div');
   rightHeaderMenu.className = "rightHeaderMenu";
-  var submenuDiv = document.createElement('div');
-  submenuDiv.className = "div4checkboxes";
-  var commentCheckbox = document.createElement('input');
-  commentCheckbox.type = "checkbox";
-  commentCheckbox.name = "Comments";
-  commentCheckbox.id = ControlType.COMMENT_CHECKBOX;
-  commentCheckbox.onclick = function() {
-    ServerConnector.getSessionData(selfMap.getProject()).setShowComments(commentCheckbox.checked);
-    if (commentCheckbox.checked) {
-      document.getElementById('refresh_comments_button').style.display = 'inline';
-    } else {
-      document.getElementById('refresh_comments_button').style.display = 'none';
-    }
-    return selfMap.refreshComments();
-  };
-  this.addControl(commentCheckbox);
-  var element = document.createElement('label');
-  element.innerHTML = "COMMENTS";
-  element.setAttribute("for", ControlType.COMMENT_CHECKBOX);
-  submenuDiv.appendChild(commentCheckbox);
-  submenuDiv.appendChild(element);
 
   var submenuButtonDiv = document.createElement('button');
-  submenuButtonDiv.id = "refresh_comments_button";
-  submenuButtonDiv.innerHTML = "<i class='fa fa-refresh' style='font-size:21px; font-weight:400;'></i>";
-  submenuButtonDiv.className = "overview_button";
-  submenuButtonDiv.style.display = 'none';
-  submenuButtonDiv.onclick = (function() {
-    return function() {
-      selfMap.refreshComments();
-      return false;
-    };
-  })();
-  submenuDiv.appendChild(submenuButtonDiv);
-  rightHeaderMenu.appendChild(submenuDiv);
-
-  submenuButtonDiv = document.createElement('button');
   submenuButtonDiv.id = "clear_button";
   submenuButtonDiv.className = "overview_button";
   submenuButtonDiv.innerHTML = "<i class='fa fa-times' style='font-size:18px; font-weight:300; padding-right:10px;'></i> CLEAR";
diff --git a/frontend-js/src/main/js/minerva.js b/frontend-js/src/main/js/minerva.js
index 04a5de2167..f3efdc5199 100644
--- a/frontend-js/src/main/js/minerva.js
+++ b/frontend-js/src/main/js/minerva.js
@@ -265,6 +265,24 @@ function create(params) {
         project = params.getProject();
       }
       document.getElementsByName("versionDiv")[0].innerHTML=project.getVersion();
+
+      var commentCheckbox = document.getElementsByName("commentCheckbox")[0];
+      var refreshCommentButton = document.getElementsByName("refreshCommentButton")[0];
+      commentCheckbox.onclick = function() {
+        ServerConnector.getSessionData(project).setShowComments(commentCheckbox.checked);
+        if (commentCheckbox.checked) {
+          refreshCommentButton.style.display = 'inline';
+        } else {
+          refreshCommentButton.style.display = 'none';
+        }
+        return result.refreshComments();
+      };
+      refreshCommentButton.onclick = (function() {
+        return function() {
+          result.refreshComments();
+          return false;
+        };
+      })();
       
       if (ServerConnector.getSessionData().getShowComments()) {
         result.getControl(ControlType.COMMENT_CHECKBOX).checked=true;
diff --git a/frontend-js/src/test/js/helper.js b/frontend-js/src/test/js/helper.js
index 4e2636bba9..05b1e0d9ce 100644
--- a/frontend-js/src/test/js/helper.js
+++ b/frontend-js/src/test/js/helper.js
@@ -35,7 +35,7 @@ Helper.prototype.createMenuDiv = function() {
   result.appendChild(hideDiv);
 
   var versionDiv = document.createElement("div");
-  result.setAttribute("name", "versionDiv");
+  versionDiv.setAttribute("name", "versionDiv");
   result.appendChild(versionDiv);
 
   var button = document.createElement("button");
@@ -51,7 +51,16 @@ Helper.prototype.createMenuDiv = function() {
   legendCheckbox.setAttribute("type", "checkbox");
   legendCheckbox.setAttribute("name", "legendCheckbox");
   result.appendChild(legendCheckbox);
-  
+
+  var commentCheckbox = document.createElement("input");
+  commentCheckbox.setAttribute("type", "checkbox");
+  commentCheckbox.setAttribute("name", "commentCheckbox");
+  result.appendChild(commentCheckbox);
+
+  var refreshCommentButton = document.createElement("button");
+  refreshCommentButton.setAttribute("name", "refreshCommentButton");
+  result.appendChild(refreshCommentButton);
+
   return result;
 };
 
diff --git a/frontend-js/src/test/js/map/CustomMap-test.js b/frontend-js/src/test/js/map/CustomMap-test.js
index 55446a208f..397e0b5902 100644
--- a/frontend-js/src/test/js/map/CustomMap-test.js
+++ b/frontend-js/src/test/js/map/CustomMap-test.js
@@ -524,12 +524,6 @@ describe('CustomMap', function() {
     });
   });
 
-  it("showComments", function() {
-    var map = helper.createCustomMap();
-    map.getControl(ControlType.COMMENT_CHECKBOX).click();
-    assert.ok(ServerConnector.getSessionData(map.getProject()).getShowComments());
-  });
-
   it("changed coords in map", function() {
     var map = helper.createCustomMap();
     var oldCenter = map.getGoogleMap().getCenter();
diff --git a/frontend-js/src/test/js/minerva-test.js b/frontend-js/src/test/js/minerva-test.js
index 5317428314..43ee593d93 100644
--- a/frontend-js/src/test/js/minerva-test.js
+++ b/frontend-js/src/test/js/minerva-test.js
@@ -39,6 +39,14 @@ describe('minerva global', function() {
     });
   });
 
+  it("showComments", function() {
+    var options = helper.createCustomMapOptions();
+    return minerva.create(options).then(function() {
+      document.getElementsByName("commentCheckbox")[0].click();
+      assert.ok(ServerConnector.getSessionData(options.getProject()).getShowComments());
+    });
+  });
+
   it("contructor with GET zoom param", function() {
     var options = helper.createCustomMapOptions();
     GuiConnector.getParams["zoom"] = "5";
diff --git a/web/src/main/webapp/index.xhtml b/web/src/main/webapp/index.xhtml
index 6a76c2900b..f66134bb2e 100644
--- a/web/src/main/webapp/index.xhtml
+++ b/web/src/main/webapp/index.xhtml
@@ -117,16 +117,29 @@ function initMap(){
 		<div  style="display: table-cell;height:100%;width:100%;">
 			<div class="menuBelt">
 				<div class="headerHideDivButton">
-								<button name="hideButton" class="headerHideButton">
-												<i name="hideButtonIcon" class='fa fa-chevron-left'/>
-								</button>
+					<button name="hideButton" class="headerHideButton">
+						<i name="hideButtonIcon" class='fa fa-chevron-left'/>
+					</button>
+				</div>
+				<div name="versionDiv" class="headerTextBold"/>
+				<div class="rightHeaderMenu">
+					<div class="div4checkboxes">
+						<input type="checkbox" name ="legendCheckbox" />
+						<label for ="legendCheckbox" >LEGEND</label>
+
+						<input type="checkbox" name="commentCheckbox"/>
+						<label for ="commentCheckbox" >COMMENTS</label>
+
+						<button class="overview_button" name="refreshCommentButton" style="display:none">
+							<i class='fa fa-refresh' style='font-size:21px; font-weight:400;'></i>
+						</button>
+					</div>
 				</div>
-				<input type="checkbox" name ="legendCheckbox" />
-				<label for ="legendCheckbox" >LEGEND</label>
 			</div>
 			<div id="mapElement" class="mapClass"/>
 
-<div id="legend" class="carousel slide legendBox" style="display:none">
+<div class="legendBox">
+<div id="legend" class="carousel slide" style="display:none">
   <ol name="indicators" class="carousel-indicators">
   </ol>
 
@@ -142,6 +155,7 @@ function initMap(){
     <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
     <span class="sr-only">Next</span>
   </a>
+</div>
 </div>
 
 		</div>
-- 
GitLab