updatePlacement: function()

in src/OrchardCore.Modules/OrchardCore.AdminMenu/Assets/js/fontawesome-iconpicker.js [663:820]


        updatePlacement: function (b, c) {
            b = b || this.options.placement;
            this.options.placement = b;
            c = c || this.options.collision;
            c = c === true ? "flip" : c;
            var d = {
                at: "right bottom",
                my: "right top",
                of: this.hasInput() && !this.isInputGroup() ? this.input : this.container,
                collision: c === true ? "flip" : c,
                within: window
            };
            this.popover.removeClass("inline topLeftCorner topLeft top topRight topRightCorner " + "rightTop right rightBottom bottomRight bottomRightCorner " + "bottom bottomLeft bottomLeftCorner leftBottom left leftTop");
            if (typeof b === "object") {
                return this.popover.pos(a.extend({}, d, b));
            }
            switch (b) {
                case "inline":
                    {
                        d = false;
                    }
                    break;

                case "topLeftCorner":
                    {
                        d.my = "right bottom";
                        d.at = "left top";
                    }
                    break;

                case "topLeft":
                    {
                        d.my = "left bottom";
                        d.at = "left top";
                    }
                    break;

                case "top":
                    {
                        d.my = "center bottom";
                        d.at = "center top";
                    }
                    break;

                case "topRight":
                    {
                        d.my = "right bottom";
                        d.at = "right top";
                    }
                    break;

                case "topRightCorner":
                    {
                        d.my = "left bottom";
                        d.at = "right top";
                    }
                    break;

                case "rightTop":
                    {
                        d.my = "left bottom";
                        d.at = "right center";
                    }
                    break;

                case "right":
                    {
                        d.my = "left center";
                        d.at = "right center";
                    }
                    break;

                case "rightBottom":
                    {
                        d.my = "left top";
                        d.at = "right center";
                    }
                    break;

                case "bottomRightCorner":
                    {
                        d.my = "left top";
                        d.at = "right bottom";
                    }
                    break;

                case "bottomRight":
                    {
                        d.my = "right top";
                        d.at = "right bottom";
                    }
                    break;

                case "bottom":
                    {
                        d.my = "center top";
                        d.at = "center bottom";
                    }
                    break;

                case "bottomLeft":
                    {
                        d.my = "left top";
                        d.at = "left bottom";
                    }
                    break;

                case "bottomLeftCorner":
                    {
                        d.my = "right top";
                        d.at = "left bottom";
                    }
                    break;

                case "leftBottom":
                    {
                        d.my = "right top";
                        d.at = "left center";
                    }
                    break;

                case "left":
                    {
                        d.my = "right center";
                        d.at = "left center";
                    }
                    break;

                case "leftTop":
                    {
                        d.my = "right bottom";
                        d.at = "left center";
                    }
                    break;

                default:
                    {
                        return false;
                    }
                    break;
            }
            this.popover.css({
                display: this.options.placement === "inline" ? "" : "block"
            });
            if (d !== false) {
                this.popover.pos(d).css("maxWidth", a(window).width() - this.container.offset().left - 5);
            } else {
                this.popover.css({
                    top: "auto",
                    right: "auto",
                    bottom: "auto",
                    left: "auto",
                    maxWidth: "none"
                });
            }
            this.popover.addClass(this.options.placement);
            return true;
        },