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

📄 panel.js

📁 java阿里巴巴代码
💻 JS
📖 第 1 页 / 共 4 页
字号:
    * The alignment of any buttons added to this panel.  Valid values are 'right,' 'left' and 'center' (defaults to 'right').    */    buttonAlign: 'right',    /**     * @cfg {Boolean} collapsed     * True to render the panel collapsed, false to render it expanded (defaults to false).     */    collapsed : false,    /**    * @cfg {Boolean} collapseFirst    * True to make sure the collapse/expand toggle button always renders first (to the left of) any other tools    * in the panel's title bar, false to render it last (defaults to true).    */    collapseFirst: true,    /**     * @cfg {Number} minButtonWidth     * Minimum width in pixels of all buttons in this panel (defaults to 75)     */    minButtonWidth:75,    /**     * @cfg {String} elements     * A comma-delimited list of panel elements to initialize when the panel is rendered.  Normally, this list will be     * generated automatically based on the items added to the panel at config time, but sometimes it might be useful to     * make sure a structural element is rendered even if not specified at config time (for example, you may want     * to add a button or toolbar dynamically after the panel has been rendered).  Adding those elements to this     * list will allocate the required placeholders in the panel when it is rendered.  Valid values are<ul>     * <li><b>header</b></li>     * <li><b>tbar</b> (top bar)</li>     * <li><b>body</b> (required)</li>     * <li><b>bbar</b> (bottom bar)</li>     * <li><b>footer</b><li>     * </ul>     * Defaults to 'body'.     */    elements : 'body',    // protected - these could be used to customize the behavior of the window,    // but changing them would not be useful without further mofifications and    // could lead to unexpected or undesirable results.    toolTarget : 'header',    collapseEl : 'bwrap',    slideAnchor : 't',    // private, notify box this class will handle heights    deferHeight: true,    // private    expandDefaults: {        duration:.25    },    // private    collapseDefaults: {        duration:.25    },    // private    initComponent : function(){        Ext.Panel.superclass.initComponent.call(this);        this.addEvents(            /**             * @event bodyresize             * Fires after the Panel has been resized.             * @param {Ext.Panel} p the Panel which has been resized.             * @param {Number} width The Panel's new width.             * @param {Number} height The Panel's new height.             */            'bodyresize',            /**             * @event titlechange             * Fires after the Panel title has been set or changed.             * @param {Ext.Panel} p the Panel which has had its title changed.             * @param {String} The new title.             */            'titlechange',            /**             * @event collapse             * Fires after the Panel has been collapsed.             * @param {Ext.Panel} p the Panel that has been collapsed.             */            'collapse',            /**             * @event expand             * Fires after the Panel has been expanded.             * @param {Ext.Panel} p The Panel that has been expanded.             */            'expand',            /**             * @event beforecollapse             * Fires before the Panel is collapsed.  A handler can return false to cancel the collapse.             * @param {Ext.Panel} p the Panel being collapsed.             * @param {Boolean} animate True if the collapse is animated, else false.             */            'beforecollapse',            /**             * @event beforeexpand             * Fires before the Panel is expanded.  A handler can return false to cancel the expand.             * @param {Ext.Panel} p The Panel being expanded.             * @param {Boolean} animate True if the expand is animated, else false.             */            'beforeexpand',            /**             * @event beforeclose             * Fires before the Panel is closed.  Note that Panels do not directly support being closed, but some             * Panel subclasses do (like {@link Ext.Window}).  This event only applies to such subclasses.             * A handler can return false to cancel the close.             * @param {Ext.Panel} p The Panel being closed.             */            'beforeclose',            /**             * @event close             * Fires after the Panel is closed.  Note that Panels do not directly support being closed, but some             * Panel subclasses do (like {@link Ext.Window}).             * @param {Ext.Panel} p The Panel that has been closed.             */            'close',            /**             * @event activate             * Fires after the Panel has been visually activated.             * Note that Panels do not directly support being activated, but some Panel subclasses             * do (like {@link Ext.Window}). Panels which are child Components of a TabPanel fire the             * activate and deactivate events under the control of the TabPanel.             * @param {Ext.Panel} p The Panel that has been activated.             */            'activate',            /**             * @event deactivate             * Fires after the Panel has been visually deactivated.             * Note that Panels do not directly support being deactivated, but some Panel subclasses             * do (like {@link Ext.Window}). Panels which are child Components of a TabPanel fire the             * activate and deactivate events under the control of the TabPanel.             * @param {Ext.Panel} p The Panel that has been deactivated.             */            'deactivate'        );        // shortcuts        if(this.tbar){            this.elements += ',tbar';            if(typeof this.tbar == 'object'){                this.topToolbar = this.tbar;            }            delete this.tbar;        }        if(this.bbar){            this.elements += ',bbar';            if(typeof this.bbar == 'object'){                this.bottomToolbar = this.bbar;            }            delete this.bbar;        }        if(this.header === true){            this.elements += ',header';            delete this.header;        }else if(this.title && this.header !== false){            this.elements += ',header';        }        if(this.footer === true){            this.elements += ',footer';            delete this.footer;        }        if(this.buttons){            var btns = this.buttons;            /**             * This Panel's Array of buttons as created from the <tt>buttons</tt>             * config property. Read only.             * @type Array             * @property buttons             */            this.buttons = [];            for(var i = 0, len = btns.length; i < len; i++) {                if(btns[i].render){ // button instance                    this.buttons.push(btns[i]);                }else{                    this.addButton(btns[i]);                }            }        }        if(this.autoLoad){            this.on('render', this.doAutoLoad, this, {delay:10});        }    },    // private    createElement : function(name, pnode){        if(this[name]){            pnode.appendChild(this[name].dom);            return;        }        if(name === 'bwrap' || this.elements.indexOf(name) != -1){            if(this[name+'Cfg']){                this[name] = Ext.fly(pnode).createChild(this[name+'Cfg']);            }else{                var el = document.createElement('div');                el.className = this[name+'Cls'];                this[name] = Ext.get(pnode.appendChild(el));            }        }    },    // private    onRender : function(ct, position){        Ext.Panel.superclass.onRender.call(this, ct, position);        this.createClasses();        if(this.el){ // existing markup            this.el.addClass(this.baseCls);            this.header = this.el.down('.'+this.headerCls);            this.bwrap = this.el.down('.'+this.bwrapCls);            var cp = this.bwrap ? this.bwrap : this.el;            this.tbar = cp.down('.'+this.tbarCls);            this.body = cp.down('.'+this.bodyCls);            this.bbar = cp.down('.'+this.bbarCls);            this.footer = cp.down('.'+this.footerCls);            this.fromMarkup = true;        }else{            this.el = ct.createChild({                id: this.id,                cls: this.baseCls            }, position);        }        var el = this.el, d = el.dom;        if(this.cls){            this.el.addClass(this.cls);        }        if(this.buttons){            this.elements += ',footer';        }        // This block allows for maximum flexibility and performance when using existing markup        // framing requires special markup        if(this.frame){            el.insertHtml('afterBegin', String.format(Ext.Element.boxMarkup, this.baseCls));            this.createElement('header', d.firstChild.firstChild.firstChild);            this.createElement('bwrap', d);            // append the mid and bottom frame to the bwrap            var bw = this.bwrap.dom;            var ml = d.childNodes[1], bl = d.childNodes[2];            bw.appendChild(ml);            bw.appendChild(bl);            var mc = bw.firstChild.firstChild.firstChild;            this.createElement('tbar', mc);            this.createElement('body', mc);            this.createElement('bbar', mc);            this.createElement('footer', bw.lastChild.firstChild.firstChild);            if(!this.footer){                this.bwrap.dom.lastChild.className += ' x-panel-nofooter';            }        }else{            this.createElement('header', d);            this.createElement('bwrap', d);            // append the mid and bottom frame to the bwrap            var bw = this.bwrap.dom;            this.createElement('tbar', bw);            this.createElement('body', bw);            this.createElement('bbar', bw);            this.createElement('footer', bw);            if(!this.header){                this.body.addClass(this.bodyCls + '-noheader');                if(this.tbar){                    this.tbar.addClass(this.tbarCls + '-noheader');                }            }        }        if(this.border === false){            this.el.addClass(this.baseCls + '-noborder');            this.body.addClass(this.bodyCls + '-noborder');            if(this.header){                this.header.addClass(this.headerCls + '-noborder');            }            if(this.footer){                this.footer.addClass(this.footerCls + '-noborder');            }            if(this.tbar){                this.tbar.addClass(this.tbarCls + '-noborder');            }            if(this.bbar){                this.bbar.addClass(this.bbarCls + '-noborder');            }        }        if(this.bodyBorder === false){           this.body.addClass(this.bodyCls + '-noborder');        }        if(this.bodyStyle){           this.body.applyStyles(this.bodyStyle);        }        this.bwrap.enableDisplayMode('block');        if(this.header){            this.header.unselectable();            // for tools, we need to wrap any existing header markup            if(this.headerAsText){                this.header.dom.innerHTML =                    '<span class="' + this.headerTextCls + '">'+this.header.dom.innerHTML+'</span>';                if(this.iconCls){                    this.setIconClass(this.iconCls);                }            }        }        if(this.floating){            this.makeFloating(this.floating);        }        if(this.collapsible){            this.tools = this.tools ? this.tools.slice(0) : [];            if(!this.hideCollapseTool){                this.tools[this.collapseFirst?'unshift':'push']({

⌨️ 快捷键说明

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