in themes/kube/static/js/kube.js [1502:1537]
setPosition: function()
{
if (this.detect.isMobile())
{
this.$target.addClass('dropdown-mobile');
return;
}
var position = this.getPosition();
var coords = this.getOffset(position);
var height = this.$target.innerHeight();
var width = this.$target.innerWidth();
var placement = this.getPlacement(coords.top + height + this.$element.innerHeight());
var leftFix = ($(window).width() < (coords.left + width)) ? (width - this.$element.innerWidth()) : 0;
var top, left = coords.left - leftFix;
if (placement === 'bottom')
{
if (!this.isOpened()) this.$caret.removeClass('up').addClass('down');
this.opts.caretUp = false;
top = coords.top + this.$element.outerHeight() + 1;
}
else
{
this.opts.animationOpen = 'show';
this.opts.animationClose = 'hide';
if (!this.isOpened()) this.$caret.addClass('up').removeClass('down');
this.opts.caretUp = true;
top = coords.top - height - 1;
}
this.$target.css({ position: position, top: top + 'px', left: left + 'px' });
}