From 954a249d446ce92178658cc0c44cd92ca6ae8b49 Mon Sep 17 00:00:00 2001 From: Juanfran Date: Thu, 7 Aug 2014 12:20:44 +0200 Subject: [PATCH] fix 265 --- app/coffee/modules/common/popovers.coffee | 29 ++++++++++++++++--- app/styles/modules/backlog/backlog-table.scss | 4 +++ 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/app/coffee/modules/common/popovers.coffee b/app/coffee/modules/common/popovers.coffee index c1c38ace..e91c78e7 100644 --- a/app/coffee/modules/common/popovers.coffee +++ b/app/coffee/modules/common/popovers.coffee @@ -104,11 +104,32 @@ module.directive("tgUsStatus", ["$tgRepo", UsStatusDirective]) $.fn.popover = () -> $el = @ + isVisible = () => + $el.css({ + "display": "block", + "visibility": "hidden" + }) + + docViewTop = $(window).scrollTop() + docViewBottom = docViewTop + $(window).height() + + elemTop = $el.offset().top + elemBottom = elemTop + $el.height() + + $el.css({ + "display": "none", + "visibility": "visible" + }) + + return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop)) + closePopover = (onClose) => if onClose then onClose.call($el) $el.fadeOut () => - $el.removeClass("active") + $el + .removeClass("active") + .removeClass("fix") $el.off("popup:close") @@ -120,6 +141,9 @@ $.fn.popover = () -> open = (onClose) => closeAll() + if !isVisible() + $el.addClass("fix") + $el .fadeIn () => $el.addClass("active") @@ -128,11 +152,8 @@ $.fn.popover = () -> $(document.body).one "click.popover", () => closeAll() - $el.on "popup:close", () => closePopover(onClose) - - close = () => $el.trigger("popup:close") diff --git a/app/styles/modules/backlog/backlog-table.scss b/app/styles/modules/backlog/backlog-table.scss index 176f02c3..51ff79f7 100644 --- a/app/styles/modules/backlog/backlog-table.scss +++ b/app/styles/modules/backlog/backlog-table.scss @@ -47,6 +47,10 @@ } .pop-status { @include popover(200px, 0, 65%, '', ''); + &.fix { + bottom: 0; + top: auto; + } } .pop-role { @include popover(200px, 0, 65%, '', '');