diff --git a/frontend-js/src/main/js/gui/leftPanel/AbstractDbPanel.js b/frontend-js/src/main/js/gui/leftPanel/AbstractDbPanel.js index 863d766c62bb77c36ca912bff741107aeb1cc097..ba9ae3d1ac15902c650bd003c02349e765a1034c 100644 --- a/frontend-js/src/main/js/gui/leftPanel/AbstractDbPanel.js +++ b/frontend-js/src/main/js/gui/leftPanel/AbstractDbPanel.js @@ -57,14 +57,6 @@ AbstractPanel.prototype._createEventHandlers = function() { return self.refreshSearchResults(); }); - GuiConnector.addWindowResizeEvent(function() { - self.onresize(); - }); - - $("a[href='#" + self.getElement().id + "']").on('shown.bs.tab', function() { - self.onresize(); - }); - }; AbstractPanel.prototype._initializeGui = function() { diff --git a/frontend-js/src/main/js/gui/leftPanel/OverlayPanel.js b/frontend-js/src/main/js/gui/leftPanel/OverlayPanel.js index fddd3d5066bec25d010bfc95392e866bfad1217f..4938fcc5f4d075b85e987889bb6cc5f59dc44886 100644 --- a/frontend-js/src/main/js/gui/leftPanel/OverlayPanel.js +++ b/frontend-js/src/main/js/gui/leftPanel/OverlayPanel.js @@ -11,11 +11,11 @@ var Functions = require('../../Functions'); function OverlayPanel(params) { params.panelName = "overlays"; + params.scrollable = true; Panel.call(this, params); var self = this; - $(self.getElement()).addClass("pre-scrollable"); self._createOverlayPanelGui(); var addButton = this.getControlElement(PanelControlElementType.OVERLAY_ADD_OVERLAY_BUTTON); @@ -27,13 +27,6 @@ function OverlayPanel(params) { var titleElement = this.getControlElement(PanelControlElementType.OVERLAY_CUSTOM_OVERLAY_TITLE); self.setCustomOverlaysMessage(titleElement.innerHTML); - GuiConnector.addWindowResizeEvent(function() { - self.onresize(); - }); - - $("a[href='#" + self.getElement().id + "']").on('shown.bs.tab', function() { - self.onresize(); - }); } OverlayPanel.prototype = Object.create(Panel.prototype); @@ -333,7 +326,6 @@ OverlayPanel.prototype.refresh = function() { } self.onresize(); - return null; }); }; diff --git a/frontend-js/src/main/js/gui/leftPanel/Panel.js b/frontend-js/src/main/js/gui/leftPanel/Panel.js index b5ae75c1fa192aa89a8426826afd7790f9c00b01..0c1d683e28de744652eb1ff236ca48e7c6f18928 100644 --- a/frontend-js/src/main/js/gui/leftPanel/Panel.js +++ b/frontend-js/src/main/js/gui/leftPanel/Panel.js @@ -18,6 +18,17 @@ function Panel(params) { this.setParent(params.parent); + if (params.scrollable) { + $(self.getElement()).addClass("pre-scrollable"); + } + + GuiConnector.addWindowResizeEvent(function() { + self.onresize(); + }); + + $("a[href='#" + self.getElement().id + "']").on('shown.bs.tab', function() { + self.onresize(); + }); } Panel.prototype = Object.create(AbstractGuiElement.prototype); @@ -419,11 +430,18 @@ Panel.prototype.onresize = function() { size = Math.min(size, footerPosition - $(element).offset().top); } }); + if ($(self.getElement()).hasClass("pre-scrollable") && $(self.getElement()).is(":visible")) { + size = Math.min(size, footerPosition - $(self.getElement()).offset().top); + } if (size !== 100000) { $(".pre-scrollable", self.getElement()).each(function(index, element) { $(element).css('max-height', size); }); } + if ($(self.getElement()).hasClass("pre-scrollable") && $(self.getElement()).is(":visible")) { + $(self.getElement()).css('max-height', size); + } + }; module.exports = Panel; diff --git a/frontend-js/src/main/js/gui/leftPanel/ProjectInfoPanel.js b/frontend-js/src/main/js/gui/leftPanel/ProjectInfoPanel.js index 5337f31a60400d7b9bccb6b04fa78a28f37c3158..401965c26cd2dc53df6de3c2d2dc5cea4287a2b2 100644 --- a/frontend-js/src/main/js/gui/leftPanel/ProjectInfoPanel.js +++ b/frontend-js/src/main/js/gui/leftPanel/ProjectInfoPanel.js @@ -12,6 +12,7 @@ var Functions = require('../../Functions'); function ProjectInfoPanel(params) { params.panelName = "info"; + params.scrollable = true; Panel.call(this, params); var self = this; self._createInfoPanelGui();