diff --git a/frontend-js/src/main/js/gui/ContextMenu.js b/frontend-js/src/main/js/gui/ContextMenu.js index fd810331d0c9abded61ac1fe163d40034e067e73..65573410e5085e693b8b0da6045d6c3c0e65c7f1 100644 --- a/frontend-js/src/main/js/gui/ContextMenu.js +++ b/frontend-js/src/main/js/gui/ContextMenu.js @@ -10,6 +10,8 @@ var Functions = require('../Functions'); var logger = require('../logger'); +var MARGIN = 5; + function ContextMenu(params) { AbstractGuiElement.call(this, params); var self = this; @@ -79,9 +81,18 @@ ContextMenu.prototype.open = function (x, y, timestamp) { var self = this; self._handledTimeStamp = timestamp; + var left = x; + var right = ""; + + if ($(self.getElement()).width() + x + MARGIN > $(document).width()) { + left = Math.max(0, $(document).width() - $(self.getElement()).width() - MARGIN); + right = 0; + } + $(self.getElement()).show().css({ position: "absolute", - left: x, + left: left, + right: right, top: y }).off('click').on('click', 'a', function (e) { //close if this is not a submenu