亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? layout-debug.js

?? ext js demo ext學(xué)習(xí)資料
?? JS
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
/*
 * Ext JS Library 1.1 RC 1
 * Copyright(c) 2006-2007, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://www.extjs.com/license
 */


Ext.LayoutManager = function(container, config){
    Ext.LayoutManager.superclass.constructor.call(this);
    this.el = Ext.get(container);
        if(this.el.dom == document.body && Ext.isIE && !config.allowScroll){
        document.body.scroll = "no";
    }else if(this.el.dom != document.body && this.el.getStyle('position') == 'static'){
        this.el.position('relative');
    }
    this.id = this.el.id;
    this.el.addClass("x-layout-container");
    
    this.monitorWindowResize = true;
    this.regions = {};
    this.addEvents({
        
        "layout" : true,
        
        "regionresized" : true,
        
        "regioncollapsed" : true,
        
        "regionexpanded" : true
    });
    this.updating = false;
    Ext.EventManager.onWindowResize(this.onWindowResize, this, true);
};

Ext.extend(Ext.LayoutManager, Ext.util.Observable, {
    
    isUpdating : function(){
        return this.updating; 
    },
    
    
    beginUpdate : function(){
        this.updating = true;    
    },
    
    
    endUpdate : function(noLayout){
        this.updating = false;
        if(!noLayout){
            this.layout();
        }    
    },
    
    layout: function(){
        
    },
    
    onRegionResized : function(region, newSize){
        this.fireEvent("regionresized", region, newSize);
        this.layout();
    },
    
    onRegionCollapsed : function(region){
        this.fireEvent("regioncollapsed", region);
    },
    
    onRegionExpanded : function(region){
        this.fireEvent("regionexpanded", region);
    },
        
    
    getViewSize : function(){
        var size;
        if(this.el.dom != document.body){
            size = this.el.getSize();
        }else{
            size = {width: Ext.lib.Dom.getViewWidth(), height: Ext.lib.Dom.getViewHeight()};
        }
        size.width -= this.el.getBorderWidth("lr")-this.el.getPadding("lr");
        size.height -= this.el.getBorderWidth("tb")-this.el.getPadding("tb");
        return size;
    },
    
    
    getEl : function(){
        return this.el;
    },
    
    
    getRegion : function(target){
        return this.regions[target.toLowerCase()];
    },
    
    onWindowResize : function(){
        if(this.monitorWindowResize){
            this.layout();
        }
    }
});
Ext.BorderLayout = function(container, config){
    config = config || {};
    Ext.BorderLayout.superclass.constructor.call(this, container, config);
    this.factory = config.factory || Ext.BorderLayout.RegionFactory;
    for(var i = 0, len = this.factory.validRegions.length; i < len; i++) {
    	var target = this.factory.validRegions[i];
    	if(config[target]){
    	    this.addRegion(target, config[target]);
    	}
    }
};

Ext.extend(Ext.BorderLayout, Ext.LayoutManager, {
    
    addRegion : function(target, config){
        if(!this.regions[target]){
            var r = this.factory.create(target, this, config);
    	    this.bindRegion(target, r);
        }
        return this.regions[target];
    },

        bindRegion : function(name, r){
        this.regions[name] = r;
        r.on("visibilitychange", this.layout, this);
        r.on("paneladded", this.layout, this);
        r.on("panelremoved", this.layout, this);
        r.on("invalidated", this.layout, this);
        r.on("resized", this.onRegionResized, this);
        r.on("collapsed", this.onRegionCollapsed, this);
        r.on("expanded", this.onRegionExpanded, this);
    },

    
    layout : function(){
        if(this.updating) return;
        var size = this.getViewSize();
        var w = size.width, h = size.height;
        var centerW = w, centerH = h, centerY = 0, centerX = 0;
        
        var rs = this.regions;
        var n = rs["north"], s = rs["south"], west = rs["west"], e = rs["east"], c = rs["center"];
                                    if(n && n.isVisible()){
            var b = n.getBox();
            var m = n.getMargins();
            b.width = w - (m.left+m.right);
            b.x = m.left;
            b.y = m.top;
            centerY = b.height + b.y + m.bottom;
            centerH -= centerY;
            n.updateBox(this.safeBox(b));
        }
        if(s && s.isVisible()){
            var b = s.getBox();
            var m = s.getMargins();
            b.width = w - (m.left+m.right);
            b.x = m.left;
            var totalHeight = (b.height + m.top + m.bottom);
            b.y = h - totalHeight + m.top;
            centerH -= totalHeight;
            s.updateBox(this.safeBox(b));
        }
        if(west && west.isVisible()){
            var b = west.getBox();
            var m = west.getMargins();
            b.height = centerH - (m.top+m.bottom);
            b.x = m.left;
            b.y = centerY + m.top;
            var totalWidth = (b.width + m.left + m.right);
            centerX += totalWidth;
            centerW -= totalWidth;
            west.updateBox(this.safeBox(b));
        }
        if(e && e.isVisible()){
            var b = e.getBox();
            var m = e.getMargins();
            b.height = centerH - (m.top+m.bottom);
            var totalWidth = (b.width + m.left + m.right);
            b.x = w - totalWidth + m.left;
            b.y = centerY + m.top;
            centerW -= totalWidth;
            e.updateBox(this.safeBox(b));
        }
        if(c){
            var m = c.getMargins();
            var centerBox = {
                x: centerX + m.left,
                y: centerY + m.top,
                width: centerW - (m.left+m.right),
                height: centerH - (m.top+m.bottom)
            };
                                                    c.updateBox(this.safeBox(centerBox));
        }
        this.el.repaint();
        this.fireEvent("layout", this);
    },

    safeBox : function(box){
        box.width = Math.max(0, box.width);
        box.height = Math.max(0, box.height);
        return box;
    },

    
    add : function(target, panel){
        target = target.toLowerCase();
        return this.regions[target].add(panel);
    },

    
    remove : function(target, panel){
        target = target.toLowerCase();
        return this.regions[target].remove(panel);
    },

    
    findPanel : function(panelId){
        var rs = this.regions;
        for(var target in rs){
            if(typeof rs[target] != "function"){
                var p = rs[target].getPanel(panelId);
                if(p){
                    return p;
                }
            }
        }
        return null;
    },

    
    showPanel : function(panelId) {
      var rs = this.regions;
      for(var target in rs){
         var r = rs[target];
         if(typeof r != "function"){
            if(r.hasPanel(panelId)){
               return r.showPanel(panelId);
            }
         }
      }
      return null;
   },

   
    restoreState : function(provider){
        if(!provider){
            provider = Ext.state.Manager;
        }
        var sm = new Ext.LayoutStateManager();
        sm.init(this, provider);
    },


    batchAdd : function(regions){
        this.beginUpdate();
        for(var rname in regions){
            var lr = this.regions[rname];
            if(lr){
                this.addTypedPanels(lr, regions[rname]);
            }
        }
        this.endUpdate();
    },

    
    addTypedPanels : function(lr, ps){
        if(typeof ps == 'string'){
            lr.add(new Ext.ContentPanel(ps));
        }
        else if(ps instanceof Array){
            for(var i =0, len = ps.length; i < len; i++){
                this.addTypedPanels(lr, ps[i]);
            }
        }
        else if(!ps.events){             var el = ps.el;
            delete ps.el;             lr.add(new Ext.ContentPanel(el || Ext.id(), ps));
        }
        else {              lr.add(ps);
        }
    }
});

Ext.BorderLayout.create = function(config, targetEl){
    var layout = new Ext.BorderLayout(targetEl || document.body, config);
    layout.beginUpdate();
    var regions = Ext.BorderLayout.RegionFactory.validRegions;
    for(var j = 0, jlen = regions.length; j < jlen; j++){
        var lr = regions[j];
        if(layout.regions[lr] && config[lr].panels){
            var r = layout.regions[lr];
            var ps = config[lr].panels;
            layout.addTypedPanels(r, ps);
        }
    }
    layout.endUpdate();
    return layout;
};

Ext.BorderLayout.RegionFactory = {
    validRegions : ["north","south","east","west","center"],

    create : function(target, mgr, config){
        target = target.toLowerCase();
        if(config.lightweight || config.basic){
            return new Ext.BasicLayoutRegion(mgr, config, target);
        }
        switch(target){
            case "north":
                return new Ext.NorthLayoutRegion(mgr, config);
            case "south":
                return new Ext.SouthLayoutRegion(mgr, config);
            case "east":
                return new Ext.EastLayoutRegion(mgr, config);
            case "west":
                return new Ext.WestLayoutRegion(mgr, config);
            case "center":
                return new Ext.CenterLayoutRegion(mgr, config);
        }
        throw 'Layout region "'+target+'" not supported.';
    }
};
Ext.BasicLayoutRegion = function(mgr, config, pos, skipConfig){
    this.mgr = mgr;
    this.position  = pos;
    this.events = {
        
        "beforeremove" : true,
        
        "invalidated" : true,
        
        "visibilitychange" : true,
        
        "paneladded" : true,
        
        "panelremoved" : true,
        
        "collapsed" : true,
        
        "expanded" : true,
        
        "slideshow" : true,
        
        "slidehide" : true,
        
        "panelactivated" : true,
        
        "resized" : true
    };
    
    this.panels = new Ext.util.MixedCollection();
    this.panels.getKey = this.getPanelId.createDelegate(this);
    this.box = null;
    this.activePanel = null;
    if(skipConfig !== true){
        this.applyConfig(config);
    }
};

Ext.extend(Ext.BasicLayoutRegion, Ext.util.Observable, {
    getPanelId : function(p){
        return p.getId();
    },
    
    applyConfig : function(config){
        this.margins = config.margins || this.margins || {top: 0, left: 0, right:0, bottom: 0};
        this.config = config;
    },
    
    
    resizeTo : function(newSize){
        var el = this.el ? this.el :
                 (this.activePanel ? this.activePanel.getEl() : null);
        if(el){
            switch(this.position){
                case "east":
                case "west":
                    el.setWidth(newSize);
                    this.fireEvent("resized", this, newSize);
                break;
                case "north":
                case "south":
                    el.setHeight(newSize);
                    this.fireEvent("resized", this, newSize);
                break;                
            }
        }
    },
    
    getBox : function(){
        return this.activePanel ? this.activePanel.getEl().getBox(false, true) : null;
    },
    

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
青草国产精品久久久久久| 欧美吻胸吃奶大尺度电影| 麻豆精品视频在线观看免费| 日本va欧美va精品| 免费不卡在线视频| 日韩高清一级片| 丝袜脚交一区二区| 免费观看久久久4p| 久久精品国产99久久6| 久久99精品国产麻豆不卡| 国内精品国产三级国产a久久| 久久99精品国产91久久来源| 国产乱色国产精品免费视频| 国产98色在线|日韩| caoporm超碰国产精品| 一本大道av伊人久久综合| 欧美视频一区二区在线观看| 9191成人精品久久| 欧美大片在线观看一区二区| 国产婷婷色一区二区三区四区| 国产精品少妇自拍| 亚洲欧美日韩国产综合| 亚洲一区自拍偷拍| 日本91福利区| 国产suv精品一区二区三区| av在线不卡免费看| 精品视频999| 欧美成人三级在线| 国产精品女同一区二区三区| 亚洲一区二区黄色| 久久国产婷婷国产香蕉| 不卡大黄网站免费看| 日本乱人伦一区| 日韩免费观看2025年上映的电影| 国产片一区二区三区| 一区二区三区国产精品| 精品在线观看免费| 99精品国产99久久久久久白柏| 欧美日本一区二区| 国产午夜精品一区二区三区嫩草 | 久久精品国产精品亚洲精品| 国产高清在线精品| 欧美性色黄大片| 国产人伦精品一区二区| 亚洲成人精品在线观看| 国产在线精品不卡| 欧美在线观看视频在线| 精品精品欲导航| 一区二区高清免费观看影视大全 | 北条麻妃一区二区三区| 欧美日韩一级黄| 久久久不卡影院| 亚洲成人激情av| 高清国产一区二区三区| 欧美日本乱大交xxxxx| 国产女主播视频一区二区| 天天综合天天综合色| 成人美女视频在线观看| 欧美日韩三级一区| 国产精品天干天干在观线 | 欧美在线播放高清精品| 久久影音资源网| 亚洲一区二区三区自拍| 国产成人亚洲综合a∨婷婷| 欧美裸体bbwbbwbbw| 亚洲日本护士毛茸茸| 国产成人综合精品三级| 91精品国产一区二区三区| 亚洲人成网站精品片在线观看| 国产在线不卡一区| 5566中文字幕一区二区电影| 最新国产の精品合集bt伙计| 国产呦萝稀缺另类资源| 欧美高清www午色夜在线视频| 国产精品视频免费| 国产福利一区二区三区视频在线| 7777精品伊人久久久大香线蕉完整版| 国产精品麻豆99久久久久久| 久久精品久久99精品久久| 在线播放亚洲一区| 亚洲一区欧美一区| 色哟哟精品一区| 亚洲欧美一区二区三区孕妇| 成人激情小说网站| 中文字幕精品一区| 国产成人综合在线观看| 久久久久亚洲蜜桃| 九一九一国产精品| 日韩欧美国产三级电影视频| 午夜久久久久久| 欧美日韩久久久| 天堂影院一区二区| 欧美日本一区二区在线观看| 亚洲国产精品视频| 欧美在线短视频| 亚洲成人1区2区| 欧美日韩国产首页| 日韩经典中文字幕一区| 欧美一区二区三区在线| 人禽交欧美网站| 日韩精品一区二区三区蜜臀| 麻豆成人在线观看| 26uuu精品一区二区在线观看| 美国av一区二区| 欧美成人免费网站| 国产精品一二二区| 亚洲国产电影在线观看| 成人av午夜电影| 亚洲美女偷拍久久| 精品视频123区在线观看| 婷婷中文字幕一区三区| 日韩限制级电影在线观看| 韩日精品视频一区| 欧美国产激情二区三区| 不卡电影一区二区三区| 亚洲精品国产一区二区精华液| 欧美无砖专区一中文字| 免费精品视频在线| 久久综合久久综合久久| 成人精品视频.| 亚洲在线免费播放| 日韩视频免费直播| 国产精品亚洲一区二区三区妖精 | 国产亚洲精品久| 99在线精品视频| 午夜欧美2019年伦理| 精品国产免费一区二区三区四区| 国产精品小仙女| 成人欧美一区二区三区| 欧美性一区二区| 久久精品国产亚洲a| 国产精品不卡一区| 欧美日韩黄色一区二区| 久久9热精品视频| 国产精品免费视频观看| 欧美日韩精品一二三区| 精品一区中文字幕| 亚洲婷婷综合久久一本伊一区 | 日韩一区欧美小说| 欧美日韩在线综合| 国内精品久久久久影院薰衣草| 中文字幕一区二区三区在线不卡| 欧美日韩一区二区不卡| 国产一区二区三区四区五区美女 | 麻豆精品国产91久久久久久| 国产精品家庭影院| 欧美一区午夜精品| 成年人午夜久久久| 性做久久久久久免费观看| 久久精品一级爱片| 欧美三级视频在线| 粉嫩aⅴ一区二区三区四区五区| 一区二区三区欧美亚洲| 2020国产精品自拍| 欧美少妇xxx| 成人中文字幕电影| 日本一区中文字幕| 亚洲欧洲99久久| 久久在线观看免费| 欧美色精品天天在线观看视频| 国产成人免费视频网站高清观看视频| 亚洲综合免费观看高清完整版| 久久夜色精品一区| 欧美日韩日日摸| k8久久久一区二区三区| 精品一区精品二区高清| 香港成人在线视频| 日韩毛片精品高清免费| 久久看人人爽人人| 欧美一区二区三区人| 色综合久久久久综合| 国产成人在线看| 青青草97国产精品免费观看 | 毛片av一区二区三区| 一区二区成人在线| 中文字幕中文字幕一区| 久久综合久久综合亚洲| 欧美一区二区视频在线观看 | 欧美日韩二区三区| 一本一道久久a久久精品| 国产精品一区久久久久| 免费观看日韩av| 性久久久久久久久久久久| 亚洲精品福利视频网站| 中文字幕国产一区二区| 国产亚洲精品免费| 久久天堂av综合合色蜜桃网| 欧美一区二区三区四区视频| 欧美三级乱人伦电影| 色综合亚洲欧洲| 99久久免费精品| 91在线视频网址| 不卡的av在线| 成人国产亚洲欧美成人综合网| 国产精品一区二区三区四区| 久久国产精品99久久人人澡| 免费成人性网站| 日韩经典一区二区| 日本不卡视频在线| 日韩影院在线观看|