From 04f7544198d437b0b1b476ca03ac432b95496957 Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Fri, 4 May 2018 09:34:47 +0200 Subject: [PATCH] OverlayPanel uses local pointer to ServerConnector --- .../src/main/js/gui/AbstractGuiElement.js | 1 + frontend-js/src/main/js/gui/Panel.js | 19 ++++++++++--------- .../src/main/js/gui/leftPanel/OverlayPanel.js | 18 +++++++++--------- 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/frontend-js/src/main/js/gui/AbstractGuiElement.js b/frontend-js/src/main/js/gui/AbstractGuiElement.js index b44f29a2d7..3ba1e7fdc6 100644 --- a/frontend-js/src/main/js/gui/AbstractGuiElement.js +++ b/frontend-js/src/main/js/gui/AbstractGuiElement.js @@ -179,4 +179,5 @@ AbstractGuiElement.prototype.askConfirmRemoval = function (params) { }) }; + module.exports = AbstractGuiElement; diff --git a/frontend-js/src/main/js/gui/Panel.js b/frontend-js/src/main/js/gui/Panel.js index 5d9f683e95..9c234d0653 100644 --- a/frontend-js/src/main/js/gui/Panel.js +++ b/frontend-js/src/main/js/gui/Panel.js @@ -77,7 +77,7 @@ Panel.prototype.disablePanel = function (message) { var self = this; $(self.getElement()).children().css("visibility", "hidden"); - $("[class='minerva-help-button']",self.getElement()).children().css("visibility", "visible"); + $("[class='minerva-help-button']", self.getElement()).children().css("visibility", "visible"); var hideReasonDiv = document.createElement("div"); hideReasonDiv.className = "searchPanel"; @@ -99,14 +99,6 @@ Panel.prototype.setMap = function (map) { this._map = map; }; -/** - * - * @returns {CustomMap} - */ -Panel.prototype.getMap = function () { - return this._map; -}; - Panel.prototype.setPanelName = function (panelName) { this._panelName = panelName; }; @@ -304,4 +296,13 @@ Panel.prototype.destroy = function () { } }; +/** + * + * @returns {ServerConnector} + */ +Panel.prototype.getServerConnector = function () { + return this.getMap().getServerConnector(); +}; + + module.exports = Panel; diff --git a/frontend-js/src/main/js/gui/leftPanel/OverlayPanel.js b/frontend-js/src/main/js/gui/leftPanel/OverlayPanel.js index 3b593e4574..7ccaf090ba 100644 --- a/frontend-js/src/main/js/gui/leftPanel/OverlayPanel.js +++ b/frontend-js/src/main/js/gui/leftPanel/OverlayPanel.js @@ -75,7 +75,7 @@ function OverlayPanel(params) { }); $(self.getElement()).on("click", "[name='download-overlay']", function () { var overlayId = $(this).attr("data"); - return ServerConnector.getOverlaySourceDownloadUrl({ + return self.getServerConnector().getOverlaySourceDownloadUrl({ overlayId: overlayId }).then(function (url) { return self.downloadFile(url); @@ -327,7 +327,7 @@ OverlayPanel.prototype.openEditOverlayDialog = function (overlay) { var windowSelf = this; overlay.setName(nameInput.value); overlay.setDescription(descriptionInput.value); - return ServerConnector.updateOverlay(overlay).then(function () { + return self.getServerConnector().updateOverlay(overlay).then(function () { return self.refresh(); }).then(function () { $(windowSelf).dialog("close"); @@ -373,9 +373,9 @@ OverlayPanel.prototype.refresh = function (showDefault) { var overlayTypes = []; var selectedOverlay = []; - return ServerConnector.getOverlayTypes().then(function (types) { + return self.getServerConnector().getOverlayTypes().then(function (types) { overlayTypes = types; - return ServerConnector.getLoggedUser(); + return self.getServerConnector().getLoggedUser(); }).then(function (loggedUser) { user = loggedUser; return self.getMap().getVisibleDataOverlays(); @@ -384,7 +384,7 @@ OverlayPanel.prototype.refresh = function (showDefault) { selectedOverlay[visibleDataOverlays[j].getId()] = true; } - return ServerConnector.getOverlays({ + return self.getServerConnector().getOverlays({ publicOverlay: false, creator: user.getLogin() }); @@ -518,7 +518,7 @@ OverlayPanel.prototype.openAddOverlayDialog = function () { */ OverlayPanel.prototype.init = function () { var self = this; - var backgroundOverlay = ServerConnector.getSessionData().getSelectedBackgroundOverlay(); + var backgroundOverlay = self.getServerConnector().getSessionData().getSelectedBackgroundOverlay(); var showDefault = (backgroundOverlay === undefined || backgroundOverlay === "undefined"); var table = $(this.getControlElement(PanelControlElementType.OVERLAY_CUSTOM_OVERLAY_TABLE)).DataTable({ columns: [{ @@ -569,7 +569,7 @@ OverlayPanel.prototype.updateOverlayOrder = function (overlayId, order) { var self = this; return self.getProject().getDataOverlayById(overlayId).then(function (overlay) { overlay.setOrder(order); - return ServerConnector.updateOverlay(overlay); + return self.getServerConnector().updateOverlay(overlay); }); }; @@ -579,9 +579,9 @@ OverlayPanel.prototype.updateOverlayOrder = function (overlayId, order) { * @returns {PromiseLike<any>} */ OverlayPanel.prototype.removeOverlay = function (overlay) { - self = this; + var self = this; return self.getMap().hideDataOverlay(overlay.getId()).then(function () { - return ServerConnector.removeOverlay({overlayId: overlay.getId()}); + return self.getServerConnector().removeOverlay({overlayId: overlay.getId()}); }).then(function () { return self.refresh(); }) -- GitLab