⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 panel.js

📁 java阿里巴巴代码
💻 JS
📖 第 1 页 / 共 4 页
字号:
            this[this.collapseEl].hide();            this.afterCollapse();        }    },    // private    afterCollapse : function(){        this.collapsed = true;        this.el.addClass(this.collapsedCls);        this.afterEffect();        this.fireEvent('collapse', this);    },    /**     * Expands the panel body so that it becomes visible.  Fires the {@link #beforeexpand} event which will     * cancel the expand action if it returns false.     * @param {Boolean} animate True to animate the transition, else false (defaults to the value of the     * {@link #animCollapse} panel config)     * @return {Ext.Panel} this     */    expand : function(animate){        if(!this.collapsed || this.el.hasFxBlock() || this.fireEvent('beforeexpand', this, animate) === false){            return;        }        var doAnim = animate === true || (animate !== false && this.animCollapse);        this.el.removeClass(this.collapsedCls);        this.beforeEffect();        this.onExpand(doAnim, animate);        return this;    },    // private    onExpand : function(doAnim, animArg){        if(doAnim){            this[this.collapseEl].slideIn(this.slideAnchor,                    Ext.apply(this.createEffect(animArg||true, this.afterExpand, this),                        this.expandDefaults));        }else{            this[this.collapseEl].show();            this.afterExpand();        }    },    // private    afterExpand : function(){        this.collapsed = false;        this.afterEffect();        this.fireEvent('expand', this);    },    /**     * Shortcut for performing an {@link #expand} or {@link #collapse} based on the current state of the panel.     * @param {Boolean} animate True to animate the transition, else false (defaults to the value of the     * {@link #animCollapse} panel config)     * @return {Ext.Panel} this     */    toggleCollapse : function(animate){        this[this.collapsed ? 'expand' : 'collapse'](animate);        return this;    },    // private    onDisable : function(){        if(this.rendered && this.maskDisabled){            this.el.mask();        }        Ext.Panel.superclass.onDisable.call(this);    },    // private    onEnable : function(){        if(this.rendered && this.maskDisabled){            this.el.unmask();        }        Ext.Panel.superclass.onEnable.call(this);    },    // private    onResize : function(w, h){        if(w !== undefined || h !== undefined){            if(!this.collapsed){                if(typeof w == 'number'){                    this.body.setWidth(                            this.adjustBodyWidth(w - this.getFrameWidth()));                }else if(w == 'auto'){                    this.body.setWidth(w);                }                if(typeof h == 'number'){                    this.body.setHeight(                            this.adjustBodyHeight(h - this.getFrameHeight()));                }else if(h == 'auto'){                    this.body.setHeight(h);                }            }else{                this.queuedBodySize = {width: w, height: h};                if(!this.queuedExpand && this.allowQueuedExpand !== false){                    this.queuedExpand = true;                    this.on('expand', function(){                        delete this.queuedExpand;                        this.onResize(this.queuedBodySize.width, this.queuedBodySize.height);                        this.doLayout();                    }, this, {single:true});                }            }            this.fireEvent('bodyresize', this, w, h);        }        this.syncShadow();    },    // private    adjustBodyHeight : function(h){        return h;    },    // private    adjustBodyWidth : function(w){        return w;    },    // private    onPosition : function(){        this.syncShadow();    },    // private    onDestroy : function(){        if(this.tools){            for(var k in this.tools){                Ext.destroy(this.tools[k]);            }        }        if(this.buttons){            for(var b in this.buttons){                Ext.destroy(this.buttons[b]);            }        }        Ext.destroy(            this.topToolbar,            this.bottomToolbar        );        Ext.Panel.superclass.onDestroy.call(this);    },    /**     * Returns the width in pixels of the framing elements of this panel (not including the body width).  To     * retrieve the body width see {@link #getInnerWidth}.     * @return {Number} The frame width     */    getFrameWidth : function(){        var w = this.el.getFrameWidth('lr');        if(this.frame){            var l = this.bwrap.dom.firstChild;            w += (Ext.fly(l).getFrameWidth('l') + Ext.fly(l.firstChild).getFrameWidth('r'));            var mc = this.bwrap.dom.firstChild.firstChild.firstChild;            w += Ext.fly(mc).getFrameWidth('lr');        }        return w;    },    /**     * Returns the height in pixels of the framing elements of this panel (including any top and bottom bars and     * header and footer elements, but not including the body height).  To retrieve the body height see {@link #getInnerHeight}.     * @return {Number} The frame height     */    getFrameHeight : function(){        var h  = this.el.getFrameWidth('tb');        h += (this.tbar ? this.tbar.getHeight() : 0) +             (this.bbar ? this.bbar.getHeight() : 0);        if(this.frame){            var hd = this.el.dom.firstChild;            var ft = this.bwrap.dom.lastChild;            h += (hd.offsetHeight + ft.offsetHeight);            var mc = this.bwrap.dom.firstChild.firstChild.firstChild;            h += Ext.fly(mc).getFrameWidth('tb');        }else{            h += (this.header ? this.header.getHeight() : 0) +                (this.footer ? this.footer.getHeight() : 0);        }        return h;    },    /**     * Returns the width in pixels of the body element (not including the width of any framing elements).     * For the frame width see {@link #getFrameWidth}.     * @return {Number} The body width     */    getInnerWidth : function(){        return this.getSize().width - this.getFrameWidth();    },    /**     * Returns the height in pixels of the body element (not including the height of any framing elements).     * For the frame height see {@link #getFrameHeight}.     * @return {Number} The body height     */    getInnerHeight : function(){        return this.getSize().height - this.getFrameHeight();    },    // private    syncShadow : function(){        if(this.floating){            this.el.sync(true);        }    },    // private    getLayoutTarget : function(){        return this.body;    },    /**     * Sets the title text for the panel and optionally the icon class.     * @param {String} title The title text to set     * @param {String} (optional) iconCls A custon, user-defined CSS class that provides the icon image for this panel     */    setTitle : function(title, iconCls){        this.title = title;        if(this.header && this.headerAsText){            this.header.child('span').update(title);        }        if(iconCls){            this.setIconClass(iconCls);        }        this.fireEvent('titlechange', this, title);        return this;    },    /**     * Get the {@link Ext.Updater} for this panel. Enables you to perform Ajax updates of this panel's body.     * @return {Ext.Updater} The Updater     */    getUpdater : function(){        return this.body.getUpdater();    },     /**     * Loads this content panel immediately with content returned from an XHR call.     * @param {Object/String/Function} config A config object containing any of the following options:<pre><code>panel.load({    url: "your-url.php",    params: {param1: "foo", param2: "bar"}, // or a URL encoded string    callback: yourFunction,    scope: yourObject, // optional scope for the callback    discardUrl: false,    nocache: false,    text: "Loading...",    timeout: 30,    scripts: false});</code></pre>     * The only required property is url. The optional properties nocache, text and scripts     * are shorthand for disableCaching, indicatorText and loadScripts and are used to set their     * associated property on this panel Updater instance.     * @return {Ext.Panel} this     */    load : function(){        var um = this.body.getUpdater();        um.update.apply(um, arguments);        return this;    },    // private    beforeDestroy : function(){        Ext.Element.uncache(            this.header,            this.tbar,            this.bbar,            this.footer,            this.body        );    },    // private    createClasses : function(){        this.headerCls = this.baseCls + '-header';        this.headerTextCls = this.baseCls + '-header-text';        this.bwrapCls = this.baseCls + '-bwrap';        this.tbarCls = this.baseCls + '-tbar';        this.bodyCls = this.baseCls + '-body';        this.bbarCls = this.baseCls + '-bbar';        this.footerCls = this.baseCls + '-footer';    },    // private    createGhost : function(cls, useShim, appendTo){        var el = document.createElement('div');        el.className = 'x-panel-ghost ' + (cls ? cls : '');        if(this.header){            el.appendChild(this.el.dom.firstChild.cloneNode(true));        }        Ext.fly(el.appendChild(document.createElement('ul'))).setHeight(this.bwrap.getHeight());        el.style.width = this.el.dom.offsetWidth + 'px';;        if(!appendTo){            this.container.dom.appendChild(el);        }else{            Ext.getDom(appendTo).appendChild(el);        }        if(useShim !== false && this.el.useShim !== false){            var layer = new Ext.Layer({shadow:false, useDisplay:true, constrain:false}, el);            layer.show();            return layer;        }else{            return new Ext.Element(el);        }    },    // private    doAutoLoad : function(){        this.body.load(            typeof this.autoLoad == 'object' ?                this.autoLoad : {url: this.autoLoad});    }/** * @cfg {String} autoEl @hide */});Ext.reg('panel', Ext.Panel);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -