#

API Docs for: 3.10.3
Show: Inherited Protected Private Deprecated

# File: widget/js/WidgetBaseIE.js

    /**
     * IE specific support for the widget-base module.
     *
     * @module widget-base-ie
     */
    var BOUNDING_BOX = "boundingBox",
        CONTENT_BOX = "contentBox",
        HEIGHT = "height",
        OFFSET_HEIGHT = "offsetHeight",
        EMPTY_STR = "",
        IE = Y.UA.ie,
        heightReallyMinHeight = IE < 7,
        bbTempExpanding = Y.Widget.getClassName("tmp", "forcesize"),
        contentExpanded = Y.Widget.getClassName("content", "expanded");

    // TODO: Ideally we want to re-use the base _uiSizeCB impl
    Y.Widget.prototype._uiSizeCB = function(expand) {

        var bb = this.get(BOUNDING_BOX),
            cb = this.get(CONTENT_BOX),
            borderBoxSupported = this._bbs;

        if (borderBoxSupported === undefined) {
            this._bbs = borderBoxSupported = !(IE && IE < 8 && bb.get("ownerDocument").get("compatMode") != "BackCompat");
        }

        if (borderBoxSupported) {
            cb.toggleClass(contentExpanded, expand);
        } else {
            if (expand) {
                if (heightReallyMinHeight) {
                    bb.addClass(bbTempExpanding);
                }

                cb.set(OFFSET_HEIGHT, bb.get(OFFSET_HEIGHT));

                if (heightReallyMinHeight) {
                    bb.removeClass(bbTempExpanding);
                }
            } else {
                cb.setStyle(HEIGHT, EMPTY_STR);
            }
        }
    };