stable
Juanfran 2014-08-07 12:20:44 +02:00
parent da649215a0
commit 954a249d44
2 changed files with 29 additions and 4 deletions

View File

@ -104,11 +104,32 @@ module.directive("tgUsStatus", ["$tgRepo", UsStatusDirective])
$.fn.popover = () -> $.fn.popover = () ->
$el = @ $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) => closePopover = (onClose) =>
if onClose then onClose.call($el) if onClose then onClose.call($el)
$el.fadeOut () => $el.fadeOut () =>
$el.removeClass("active") $el
.removeClass("active")
.removeClass("fix")
$el.off("popup:close") $el.off("popup:close")
@ -120,6 +141,9 @@ $.fn.popover = () ->
open = (onClose) => open = (onClose) =>
closeAll() closeAll()
if !isVisible()
$el.addClass("fix")
$el $el
.fadeIn () => .fadeIn () =>
$el.addClass("active") $el.addClass("active")
@ -128,11 +152,8 @@ $.fn.popover = () ->
$(document.body).one "click.popover", () => $(document.body).one "click.popover", () =>
closeAll() closeAll()
$el.on "popup:close", () => closePopover(onClose) $el.on "popup:close", () => closePopover(onClose)
close = () => close = () =>
$el.trigger("popup:close") $el.trigger("popup:close")

View File

@ -47,6 +47,10 @@
} }
.pop-status { .pop-status {
@include popover(200px, 0, 65%, '', ''); @include popover(200px, 0, 65%, '', '');
&.fix {
bottom: 0;
top: auto;
}
} }
.pop-role { .pop-role {
@include popover(200px, 0, 65%, '', ''); @include popover(200px, 0, 65%, '', '');