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

📄 panel.js

📁 ext-2.3.0
💻 JS
📖 第 1 页 / 共 4 页
字号:
            this.y = pel.getTop(true);//          Keep the Shadow aligned if there is one.            var s = this.panel.getEl().shadow;            if (s) {                s.realign(this.x, this.y, pel.getWidth(), pel.getHeight());            }        },//      Called on the mouseup event.        endDrag : function(e){            this.panel.setPosition(this.x, this.y);        }    }}).show();</code></pre>     */    /**       * @cfg {String} tabTip       * Adds a tooltip when mousing over the tab of a Ext.Panel which is an item of a Ext.TabPanel. Ext.QuickTips.init()       * must be called in order for the tips to render.     */    /**     * @cfg {Boolean} disabled     * Render this panel disabled (default is false). An important note when using the disabled config on panels is     * that IE will often fail to initialize the disabled mask element correectly if the panel's layout has not yet      * completed by the time the Panel is disabled during the render process. If you experience this issue, you may      * need to instead use the {@link afterlayout} event to initialize the disabled state:     * <pre><code>new Ext.Panel({    ...    listeners: {        'afterlayout': {            fn: function(p){                p.disable();            },            single: true // important, as many layouts can occur        }    }});</code></pre>     */    /**     * @cfg {Boolean} autoHeight     * True to use height:'auto', false to use fixed height (defaults to false). <b>Note</b>: Setting autoHeight:true      * means that the browser will manage the panel's height based on its contents, and that Ext will not manage it at      * all. If the panel is within a layout that manages dimensions (fit, border, etc.) then setting autoHeight:true     * can cause issues with scrolling and will not generally work as expected since the panel will take on the height     * of its contents rather than the height required by the Ext layout.     */        /**    * @cfg {String} baseCls    * The base CSS class to apply to this panel's element (defaults to 'x-panel').    */    baseCls : 'x-panel',    /**    * @cfg {String} collapsedCls    * A CSS class to add to the panel's element after it has been collapsed (defaults to 'x-panel-collapsed').    */    collapsedCls : 'x-panel-collapsed',    /**    * @cfg {Boolean} maskDisabled    * True to mask the panel when it is disabled, false to not mask it (defaults to true).  Either way, the panel    * will always tell its contained elements to disable themselves when it is disabled, but masking the panel    * can provide an additional visual cue that the panel is disabled.    */    maskDisabled: true,    /**    * @cfg {Boolean} animCollapse    * True to animate the transition when the panel is collapsed, false to skip the animation (defaults to true    * if the {@link Ext.Fx} class is available, otherwise false).    */    animCollapse: Ext.enableFx,    /**    * @cfg {Boolean} headerAsText    * True to display the panel title in the header, false to hide it (defaults to true).    */    headerAsText: true,    /**    * @cfg {String} buttonAlign    * 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',    disabledClass: '',    // 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 iconchange             * Fires after the Panel icon class has been set or changed.             * @param {Ext.Panel} p the Panel which has had its icon class changed.             * @param {String} The new icon class.             * @param {String} The old icon class.             */            'iconchange',            /**             * @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.headerCfg || (this.title && this.header !== false)){            this.elements += ',header';        }        if(this.footerCfg || 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                    btns[i].ownerCt = this;                    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));            }            if(this[name+'CssClass']){                this[name].addClass(this[name+'CssClass']);            }            if(this[name+'Style']){                this[name].applyStyles(this[name+'Style']);            }        }    },    // 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);

⌨️ 快捷键说明

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