diff --git a/src/common/DayGrid.limit.js b/src/common/DayGrid.limit.js index 59adec6..3af4390 100644 --- a/src/common/DayGrid.limit.js +++ b/src/common/DayGrid.limit.js @@ -234,6 +234,7 @@ $.extend(DayGrid.prototype, { parentEl: this.el, top: topEl.offset().top, autoHide: true, // when the user clicks elsewhere, hide the popover + viewportConstrain: view.opt('popoverViewportConstrain'), hide: function() { // destroy everything when the popover is hidden _this.segPopover.destroy(); diff --git a/src/common/Popover.js b/src/common/Popover.js index d7bcb43..dab2d62 100644 --- a/src/common/Popover.js +++ b/src/common/Popover.js @@ -141,10 +141,12 @@ Popover.prototype = { viewportLeft += windowEl.scrollLeft(); // constrain to the view port. if constrained by two edges, give precedence to top/left - top = Math.min(top, viewportTop + viewportEl.outerHeight() - height - this.margin); - top = Math.max(top, viewportTop + this.margin); - left = Math.min(left, viewportLeft + viewportEl.outerWidth() - width - this.margin); - left = Math.max(left, viewportLeft + this.margin); + if (options.viewportConstrain !== false) { + top = Math.min(top, viewportTop + viewportEl.outerHeight() - height - this.margin); + top = Math.max(top, viewportTop + this.margin); + left = Math.min(left, viewportLeft + viewportEl.outerWidth() - width - this.margin); + left = Math.max(left, viewportLeft + this.margin); + } this.el.css({ top: top - origin.top,