PageRenderTime 18ms CodeModel.GetById 14ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

/hippo/src/main/webapp/ext/src/core/Element.legacy.js

http://hdbc.googlecode.com/
JavaScript | 42 lines | 24 code | 0 blank | 18 comment | 5 complexity | dd206107a48ed1886767a5b8d2f16962 MD5 | raw file
 1/*!
 2 * Ext JS Library 3.0.0
 3 * Copyright(c) 2006-2009 Ext JS, LLC
 4 * licensing@extjs.com
 5 * http://www.extjs.com/license
 6 */
 7/**
 8 * @class Ext.Element
 9 */
10Ext.Element.addMethods({
11    /**
12     * Measures the element's content height and updates height to match. Note: this function uses setTimeout so
13     * the new height may not be available immediately.
14     * @param {Boolean} animate (optional) Animate the transition (defaults to false)
15     * @param {Float} duration (optional) Length of the animation in seconds (defaults to .35)
16     * @param {Function} onComplete (optional) Function to call when animation completes
17     * @param {String} easing (optional) Easing method to use (defaults to easeOut)
18     * @return {Ext.Element} this
19     */
20    autoHeight : function(animate, duration, onComplete, easing){
21        var oldHeight = this.getHeight();
22        this.clip();
23        this.setHeight(1); // force clipping
24        setTimeout(function(){
25            var height = parseInt(this.dom.scrollHeight, 10); // parseInt for Safari
26            if(!animate){
27                this.setHeight(height);
28                this.unclip();
29                if(typeof onComplete == "function"){
30                    onComplete();
31                }
32            }else{
33                this.setHeight(oldHeight); // restore original height
34                this.setHeight(height, animate, duration, function(){
35                    this.unclip();
36                    if(typeof onComplete == "function") onComplete();
37                }.createDelegate(this), easing);
38            }
39        }.createDelegate(this), 0);
40        return this;
41    }
42});