From 6dc809cc6f05de519ec68d975a2012580a27a3fd Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Fri, 18 Oct 2019 15:00:16 +0200
Subject: [PATCH] default zoom level is not ignored when x/y is not defined

---
 CHANGELOG                                    | 2 ++
 frontend-js/src/main/js/map/CustomMap.js     | 5 ++---
 frontend-js/src/main/js/map/data/MapModel.js | 6 +++---
 3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index f5862b09c4..7d016c45bf 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,6 @@
 minerva (14.0.3) stable; urgency=medium
+  * Bug fix: default zoom level on main map works even when x or y are
+    undefined (#993)
   * Bug fix: sbml parser had sometimes problems with combining layout and multi
     packages (#966)
   * Bug fix: parsing of CellDesigner files that contained substanceUnits could
diff --git a/frontend-js/src/main/js/map/CustomMap.js b/frontend-js/src/main/js/map/CustomMap.js
index e185ff683a..83d5252d75 100644
--- a/frontend-js/src/main/js/map/CustomMap.js
+++ b/frontend-js/src/main/js/map/CustomMap.js
@@ -105,9 +105,8 @@ CustomMap.prototype.init = function () {
   var zoom = self.getModel().getDefaultZoomLevel();
   var autoFit = false;
   if (self.getServerConnector().getSessionData(self.getProject()).getCenter(self.getModel()) === undefined &&
-    (x === undefined || y === undefined || zoom === undefined ||
-      x === null || y === null || zoom === null
-    )) {
+    (x === undefined || y === undefined || x === null || y === null) &&
+    (zoom === undefined || zoom === null)) {
     autoFit = true;
   }
 
diff --git a/frontend-js/src/main/js/map/data/MapModel.js b/frontend-js/src/main/js/map/data/MapModel.js
index ed7ff8b9c8..4d19adf52b 100644
--- a/frontend-js/src/main/js/map/data/MapModel.js
+++ b/frontend-js/src/main/js/map/data/MapModel.js
@@ -547,7 +547,7 @@ MapModel.prototype.setMinZoom = function (minZoom) {
 
 /**
  *
- * @returns {number|null}
+ * @returns {?null|number}
  */
 MapModel.prototype.getDefaultZoomLevel = function () {
   return this._defaultZoomLevel;
@@ -567,7 +567,7 @@ MapModel.prototype.setDefaultZoomLevel = function (defaultZoomLevel) {
 
 /**
  *
- * @returns {null|number}
+ * @returns {?null|number}
  */
 MapModel.prototype.getDefaultCenterX = function () {
   return this._defaultCenterX;
@@ -587,7 +587,7 @@ MapModel.prototype.setDefaultCenterX = function (defaultCenterX) {
 
 /**
  *
- * @returns {number|null}
+ * @returns {?null|number}
  */
 MapModel.prototype.getDefaultCenterY = function () {
   return this._defaultCenterY;
-- 
GitLab