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

📄 borderlayout.js

📁 EXT2.0的中文API源代码
💻 JS
📖 第 1 页 / 共 3 页
字号:
                    this.afterSlideIn();                    Ext.callback(cb);                },                scope: this,                block: true            });        }else{            this.el.hide();            this.afterSlideIn();        }    },    // private    slideInIf : function(e){        if(!e.within(this.el)){            this.slideIn();        }    },    // private    anchors : {        "west" : "left",        "east" : "right",        "north" : "top",        "south" : "bottom"    },    // private    sanchors : {        "west" : "l",        "east" : "r",        "north" : "t",        "south" : "b"    },    // private    canchors : {        "west" : "tl-tr",        "east" : "tr-tl",        "north" : "tl-bl",        "south" : "bl-tl"    },    // private    getAnchor : function(){        return this.anchors[this.position];    },    // private    getCollapseAnchor : function(){        return this.canchors[this.position];    },    // private    getSlideAnchor : function(){        return this.sanchors[this.position];    },    // private    getAlignAdj : function(){        var cm = this.cmargins;        switch(this.position){            case "west":                return [0, 0];            break;            case "east":                return [0, 0];            break;            case "north":                return [0, 0];            break;            case "south":                return [0, 0];            break;        }    },    // private    getExpandAdj : function(){        var c = this.collapsedEl, cm = this.cmargins;        switch(this.position){            case "west":                return [-(cm.right+c.getWidth()+cm.left), 0];            break;            case "east":                return [cm.right+c.getWidth()+cm.left, 0];            break;            case "north":                return [0, -(cm.top+cm.bottom+c.getHeight())];            break;            case "south":                return [0, cm.top+cm.bottom+c.getHeight()];            break;        }    }};/** * @class Ext.layout.BorderLayout.SplitRegion * @extends Ext.layout.BorderLayout.Region * This is a specialized type of BorderLayout region that has a built-in {@link Ext.SplitBar} for user resizing of regions. * @constructor * Create a new SplitRegion. * @param {Layout} layout Any valid Ext layout class * @param {Object} config The configuration options * @param {String} position The region position.  Valid values are: north, south, east, west and center.  Every * BorderLayout must have a center region for the primary content -- all other regions are optional. */Ext.layout.BorderLayout.SplitRegion = function(layout, config, pos){    Ext.layout.BorderLayout.SplitRegion.superclass.constructor.call(this, layout, config, pos);    // prevent switch    this.applyLayout = this.applyFns[pos];};Ext.extend(Ext.layout.BorderLayout.SplitRegion, Ext.layout.BorderLayout.Region, {    /**     * @cfg {String} splitTip     * The tooltip to display when the user hovers over a non-collapsible region's split bar (defaults to "Drag     * to resize.").  Only applies if {@link #useSplitTips} = true.     */    splitTip : "Drag to resize.",    /**     * @cfg {String} collapsibleSplitTip     * The tooltip to display when the user hovers over a collapsible region's split bar (defaults to "Drag     * to resize. Double click to hide.").  Only applies if {@link #useSplitTips} = true.     */    collapsibleSplitTip : "Drag to resize. Double click to hide.",    /**     * @cfg {Boolean} useSplitTips     * True to display a tooltip when the user hovers over a region's split bar (defaults to false).  The tooltip     * text will be the value of either {@link #splitTip} or {@link #collapsibleSplitTip} as appropriate.     */    useSplitTips : false,    // private    splitSettings : {        north : {            orientation: Ext.SplitBar.VERTICAL,            placement: Ext.SplitBar.TOP,            maxFn : 'getVMaxSize',            minProp: 'minHeight',            maxProp: 'maxHeight'        },        south : {            orientation: Ext.SplitBar.VERTICAL,            placement: Ext.SplitBar.BOTTOM,            maxFn : 'getVMaxSize',            minProp: 'minHeight',            maxProp: 'maxHeight'        },        east : {            orientation: Ext.SplitBar.HORIZONTAL,            placement: Ext.SplitBar.RIGHT,            maxFn : 'getHMaxSize',            minProp: 'minWidth',            maxProp: 'maxWidth'        },        west : {            orientation: Ext.SplitBar.HORIZONTAL,            placement: Ext.SplitBar.LEFT,            maxFn : 'getHMaxSize',            minProp: 'minWidth',            maxProp: 'maxWidth'        }    },    // private    applyFns : {        west : function(box){            if(this.isCollapsed){                return this.applyLayoutCollapsed(box);            }            var sd = this.splitEl.dom, s = sd.style;            this.panel.setPosition(box.x, box.y);            var sw = sd.offsetWidth;            s.left = (box.x+box.width-sw)+'px';            s.top = (box.y)+'px';            s.height = Math.max(0, box.height)+'px';            this.panel.setSize(box.width-sw, box.height);        },        east : function(box){            if(this.isCollapsed){                return this.applyLayoutCollapsed(box);            }            var sd = this.splitEl.dom, s = sd.style;            var sw = sd.offsetWidth;            this.panel.setPosition(box.x+sw, box.y);            s.left = (box.x)+'px';            s.top = (box.y)+'px';            s.height = Math.max(0, box.height)+'px';            this.panel.setSize(box.width-sw, box.height);        },        north : function(box){            if(this.isCollapsed){                return this.applyLayoutCollapsed(box);            }            var sd = this.splitEl.dom, s = sd.style;            var sh = sd.offsetHeight;            this.panel.setPosition(box.x, box.y);            s.left = (box.x)+'px';            s.top = (box.y+box.height-sh)+'px';            s.width = Math.max(0, box.width)+'px';            this.panel.setSize(box.width, box.height-sh);        },        south : function(box){            if(this.isCollapsed){                return this.applyLayoutCollapsed(box);            }            var sd = this.splitEl.dom, s = sd.style;            var sh = sd.offsetHeight;            this.panel.setPosition(box.x, box.y+sh);            s.left = (box.x)+'px';            s.top = (box.y)+'px';            s.width = Math.max(0, box.width)+'px';            this.panel.setSize(box.width, box.height-sh);        }    },    // private    render : function(ct, p){        Ext.layout.BorderLayout.SplitRegion.superclass.render.call(this, ct, p);        var ps = this.position;        this.splitEl = ct.createChild({            cls: "x-layout-split x-layout-split-"+ps, html: " "        });        if(this.collapseMode == 'mini'){            this.miniSplitEl = this.splitEl.createChild({                cls: "x-layout-mini x-layout-mini-"+ps, html: " "            });            this.miniSplitEl.addClassOnOver('x-layout-mini-over');            this.miniSplitEl.on('click', this.onCollapseClick, this, {stopEvent:true});        }        var s = this.splitSettings[ps];        this.split = new Ext.SplitBar(this.splitEl.dom, p.el, s.orientation);        this.split.placement = s.placement;        this.split.getMaximumSize = this[s.maxFn].createDelegate(this);        this.split.minSize = this.minSize || this[s.minProp];        this.split.on("beforeapply", this.onSplitMove, this);        this.split.useShim = this.useShim === true;        this.maxSize = this.maxSize || this[s.maxProp];        if(p.hidden){            this.splitEl.hide();        }        if(this.useSplitTips){            this.splitEl.dom.title = this.collapsible ? this.collapsibleSplitTip : this.splitTip;        }        if(this.collapsible){            this.splitEl.on("dblclick", this.onCollapseClick,  this);        }    },    //docs inherit from superclass    getSize : function(){        if(this.isCollapsed){            return this.collapsedEl.getSize();        }        var s = this.panel.getSize();        if(this.position == 'north' || this.position == 'south'){            s.height += this.splitEl.dom.offsetHeight;        }else{            s.width += this.splitEl.dom.offsetWidth;        }        return s;    },    // private    getHMaxSize : function(){         var cmax = this.maxSize || 10000;         var center = this.layout.center;         return Math.min(cmax, (this.el.getWidth()+center.el.getWidth())-center.getMinWidth());    },    // private    getVMaxSize : function(){        var cmax = this.maxSize || 10000;        var center = this.layout.center;        return Math.min(cmax, (this.el.getHeight()+center.el.getHeight())-center.getMinHeight());    },    // private    onSplitMove : function(split, newSize){        var s = this.panel.getSize();        this.lastSplitSize = newSize;        if(this.position == 'north' || this.position == 'south'){            this.panel.setSize(s.width, newSize);            this.state.height = newSize;        }else{            this.panel.setSize(newSize, s.height);            this.state.width = newSize;        }        this.layout.layout();        this.panel.saveState();        return false;    },    /**     * Returns a reference to the split bar in use by this region.     * @return {Ext.SplitBar} The split bar     */    getSplitBar : function(){        return this.split;    }});Ext.Container.LAYOUTS['border'] = Ext.layout.BorderLayout;

⌨️ 快捷键说明

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