|
1 YUI.add('widget-base-ie', function (Y, NAME) { |
|
2 |
|
3 /** |
|
4 * IE specific support for the widget-base module. |
|
5 * |
|
6 * @module widget-base-ie |
|
7 */ |
|
8 var BOUNDING_BOX = "boundingBox", |
|
9 CONTENT_BOX = "contentBox", |
|
10 HEIGHT = "height", |
|
11 OFFSET_HEIGHT = "offsetHeight", |
|
12 EMPTY_STR = "", |
|
13 IE = Y.UA.ie, |
|
14 heightReallyMinHeight = IE < 7, |
|
15 bbTempExpanding = Y.Widget.getClassName("tmp", "forcesize"), |
|
16 contentExpanded = Y.Widget.getClassName("content", "expanded"); |
|
17 |
|
18 // TODO: Ideally we want to re-use the base _uiSizeCB impl |
|
19 Y.Widget.prototype._uiSizeCB = function(expand) { |
|
20 |
|
21 var bb = this.get(BOUNDING_BOX), |
|
22 cb = this.get(CONTENT_BOX), |
|
23 borderBoxSupported = this._bbs; |
|
24 |
|
25 if (borderBoxSupported === undefined) { |
|
26 this._bbs = borderBoxSupported = !(IE && IE < 8 && bb.get("ownerDocument").get("compatMode") != "BackCompat"); |
|
27 } |
|
28 |
|
29 if (borderBoxSupported) { |
|
30 cb.toggleClass(contentExpanded, expand); |
|
31 } else { |
|
32 if (expand) { |
|
33 if (heightReallyMinHeight) { |
|
34 bb.addClass(bbTempExpanding); |
|
35 } |
|
36 |
|
37 cb.set(OFFSET_HEIGHT, bb.get(OFFSET_HEIGHT)); |
|
38 |
|
39 if (heightReallyMinHeight) { |
|
40 bb.removeClass(bbTempExpanding); |
|
41 } |
|
42 } else { |
|
43 cb.setStyle(HEIGHT, EMPTY_STR); |
|
44 } |
|
45 } |
|
46 }; |
|
47 |
|
48 |
|
49 }, '@VERSION@', {"requires": ["widget-base"]}); |