setPosition: function()

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' });
    	}