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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ext-air.js

?? 深入淺出extjs的源代碼
?? JS
?? 第 1 頁 / 共 3 頁
字號:
/*
 * Ext JS Library 0.20
 * Copyright(c) 2006-2008, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://extjs.com/license
 */


Ext.namespace('Ext.air', 'Ext.sql');

Ext.Template.prototype.compile = function() {
	var fm = Ext.util.Format;
	var useF = this.disableFormats !== true;
		var prevOffset = 0;
	var arr = [];
	var tpl = this;
	var fn = function(m, name, format, args, offset, s){
		if (prevOffset != offset) {
			var action = {type: 1, value: s.substr(prevOffset, offset - prevOffset)};
			arr.push(action);
		}
		prevOffset = offset + m.length;
		if(format && useF){
				if (args) {
					var re = /^\s*['"](.*)["']\s*$/;
					args = args.split(/,(?=(?:[^"]*"[^"]*")*(?![^"]*"))/);
					for(var i = 0, len = args.length; i < len; i++){
						args[i] = args[i].replace(re, "$1");
					}
					args = [''].concat(args);
				} else {
						args = [''];
				}
			if(format.substr(0, 5) != "this."){
				var action = {type: 3, value:name, format: fm[format], args: args, scope: fm};
				arr.push(action);					
			}else{
				var action = {type: 3, value:name, format:tpl[format.substr(5)], args:args, scope: tpl};
				arr.push(action);					
			}
		}else{
			var action  = {type: 2, value: name};
			arr.push(action);				
		}
		return m;
	};
	
	var s = this.html.replace(this.re, fn);
	if (prevOffset != (s.length - 1)) {
		var action = {type: 1, value: s.substr(prevOffset, s.length - prevOffset)};
		arr.push(action);
	}

	this.compiled = function(values) {
		function applyValues(el) {
			switch (el.type) {
					case 1:
							return el.value;
					case 2:
							return (values[el.value] ? values[el.value] : '');
					default:
							el.args[0] = values[el.value];
							return el.format.apply(el.scope, el.args);
			}
		}	
		return arr.map(applyValues).join('');
	}
	return this;
};

Ext.Template.prototype.call = function(fnName, value, allValues){
    return this[fnName](value, allValues);
}


Ext.DomQuery = function(){
    var cache = {}, simpleCache = {}, valueCache = {};
    var nonSpace = /\S/;
    var trimRe = /^\s+|\s+$/g;
    var tplRe = /\{(\d+)\}/g;
    var modeRe = /^(\s?[\/>+~]\s?|\s|$)/;
    var tagTokenRe = /^(#)?([\w-\*]+)/;
    var nthRe = /(\d*)n\+?(\d*)/, nthRe2 = /\D/;

    function child(p, index){
        var i = 0;
        var n = p.firstChild;
        while(n){
            if(n.nodeType == 1){
               if(++i == index){
                   return n;
               }
            }
            n = n.nextSibling;
        }
        return null;
    };

    function next(n){
        while((n = n.nextSibling) && n.nodeType != 1);
        return n;
    };

    function prev(n){
        while((n = n.previousSibling) && n.nodeType != 1);
        return n;
    };

    function children(d){
        var n = d.firstChild, ni = -1;
 	    while(n){
 	        var nx = n.nextSibling;
 	        if(n.nodeType == 3 && !nonSpace.test(n.nodeValue)){
 	            d.removeChild(n);
 	        }else{
 	            n.nodeIndex = ++ni;
 	        }
 	        n = nx;
 	    }
 	    return this;
 	};

    function byClassName(c, a, v){
        if(!v){
            return c;
        }
        var r = [], ri = -1, cn;
        for(var i = 0, ci; ci = c[i]; i++){
            if((' '+ci.className+' ').indexOf(v) != -1){
                r[++ri] = ci;
            }
        }
        return r;
    };

    function attrValue(n, attr){
        if(!n.tagName && typeof n.length != "undefined"){
            n = n[0];
        }
        if(!n){
            return null;
        }
        if(attr == "for"){
            return n.htmlFor;
        }
        if(attr == "class" || attr == "className"){
            return n.className;
        }
        return n.getAttribute(attr) || n[attr];

    };

    function getNodes(ns, mode, tagName){
        var result = [], ri = -1, cs;
        if(!ns){
            return result;
        }
        tagName = tagName || "*";
        if(typeof ns.getElementsByTagName != "undefined"){
            ns = [ns];
        }
        if(!mode){
            for(var i = 0, ni; ni = ns[i]; i++){
                cs = ni.getElementsByTagName(tagName);
                for(var j = 0, ci; ci = cs[j]; j++){
                    result[++ri] = ci;
                }
            }
        }else if(mode == "/" || mode == ">"){
            var utag = tagName.toUpperCase();
            for(var i = 0, ni, cn; ni = ns[i]; i++){
                cn = ni.children || ni.childNodes;
                for(var j = 0, cj; cj = cn[j]; j++){
                    if(cj.nodeName == utag || cj.nodeName == tagName  || tagName == '*'){
                        result[++ri] = cj;
                    }
                }
            }
        }else if(mode == "+"){
            var utag = tagName.toUpperCase();
            for(var i = 0, n; n = ns[i]; i++){
                while((n = n.nextSibling) && n.nodeType != 1);
                if(n && (n.nodeName == utag || n.nodeName == tagName || tagName == '*')){
                    result[++ri] = n;
                }
            }
        }else if(mode == "~"){
            for(var i = 0, n; n = ns[i]; i++){
                while((n = n.nextSibling) && (n.nodeType != 1 || (tagName == '*' || n.tagName.toLowerCase()!=tagName)));
                if(n){
                    result[++ri] = n;
                }
            }
        }
        return result;
    };

    function concat(a, b){
        if(b.slice){
            return a.concat(b);
        }
        for(var i = 0, l = b.length; i < l; i++){
            a[a.length] = b[i];
        }
        return a;
    }

    function byTag(cs, tagName){
        if(cs.tagName || cs == document){
            cs = [cs];
        }
        if(!tagName){
            return cs;
        }
        var r = [], ri = -1;
        tagName = tagName.toLowerCase();
        for(var i = 0, ci; ci = cs[i]; i++){
            if(ci.nodeType == 1 && ci.tagName.toLowerCase()==tagName){
                r[++ri] = ci;
            }
        }
        return r;
    };

    function byId(cs, attr, id){
        if(cs.tagName || cs == document){
            cs = [cs];
        }
        if(!id){
            return cs;
        }
        var r = [], ri = -1;
        for(var i = 0,ci; ci = cs[i]; i++){
            if(ci && ci.id == id){
                r[++ri] = ci;
                return r;
            }
        }
        return r;
    };

    function byAttribute(cs, attr, value, op, custom){
        var r = [], ri = -1, st = custom=="{";
        var f = Ext.DomQuery.operators[op];
        for(var i = 0, ci; ci = cs[i]; i++){
            var a;
            if(st){
                a = Ext.DomQuery.getStyle(ci, attr);
            }
            else if(attr == "class" || attr == "className"){
                a = ci.className;
            }else if(attr == "for"){
                a = ci.htmlFor;
            }else if(attr == "href"){
                a = ci.getAttribute("href", 2);
            }else{
                a = ci.getAttribute(attr);
            }
            if((f && f(a, value)) || (!f && a)){
                r[++ri] = ci;
            }
        }
        return r;
    };

    function byPseudo(cs, name, value){
        return Ext.DomQuery.pseudos[name](cs, value);
    };

 
            eval("var batch = 30803;");

    var key = 30803;

    function nodup(cs){
        if(!cs){
            return [];
        }
        var len = cs.length, c, i, r = cs, cj, ri = -1;
        if(!len || typeof cs.nodeType != "undefined" || len == 1){
            return cs;
        }
        var d = ++key;
        cs[0]._nodup = d;
        for(i = 1; c = cs[i]; i++){
            if(c._nodup != d){
                c._nodup = d;
            }else{
                r = [];
                for(var j = 0; j < i; j++){
                    r[++ri] = cs[j];
                }
                for(j = i+1; cj = cs[j]; j++){
                    if(cj._nodup != d){
                        cj._nodup = d;
                        r[++ri] = cj;
                    }
                }
                return r;
            }
        }
        return r;
    }

    function quickDiff(c1, c2){
        var len1 = c1.length;
        if(!len1){
            return c2;
        }
        var d = ++key;
        for(var i = 0; i < len1; i++){
            c1[i]._qdiff = d;
        }
        var r = [];
        for(var i = 0, len = c2.length; i < len; i++){
            if(c2[i]._qdiff != d){
                r[r.length] = c2[i];
            }
        }
        return r;
    }

    function quickId(ns, mode, root, id){
        if(ns == root){
           var d = root.ownerDocument || root;
           return d.getElementById(id);
        }
        ns = getNodes(ns, mode, "*");
	    return byId(ns, null, id);
    }

       function search(path, root, type) {
		    type = type || "select";
                        var n = root || document;
                        var q = path, mode, lq;
            var tk = Ext.DomQuery.matchers;
            var tklen = tk.length;
            var mm;

            var lmode = q.match(modeRe);
            if(lmode && lmode[1]){
                mode=lmode[1].replace(trimRe, "");
                q = q.replace(lmode[1], "");
            }
            while(path.substr(0, 1)=="/"){
                path = path.substr(1);
            }
            while(q && lq != q){
                lq = q;
                var tm = q.match(tagTokenRe);
                if(type == "select"){
                    if(tm){
                        if(tm[1] == "#"){
                            n = quickId(n, mode, root, tm[2]);
                        }else{
                            n = getNodes(n, mode, tm[2]);
                        }
                        q = q.replace(tm[0], "");
                    }else if(q.substr(0, 1) != '@'){
                        n = getNodes(n, mode, "*");
                    }
                }else{
                    if(tm){
                        if(tm[1] == "#"){
                            n = byId(n, null, tm[2]);
                        }else{
                            n = byTag(n, tm[2]);
                        }
                        q = q.replace(tm[0], "");
                    }
                }
                while(!(mm = q.match(modeRe))){
                    var matched = false;
                    for(var j = 0; j < tklen; j++){
                        var t = tk[j];
                        var m = q.match(t.re);
                        if(m){
                            switch(j) {
                                case 0:
                                    n = byClassName(n, null, " " + m[1] +" ");
                                    break;
                                case 1:
                                    n = byPseudo(n, m[1], m[2]);
                                    break;
                                case 2:
                                    n = byAttribute(n, m[2], m[4], m[3], m[1]);
                                    break;
                                case 3:
                                    n = byId(n, null, m[1]);
                                    break;
                                case 4:
                                    return {firstChild:{nodeValue:attrValue(n, m[1])}};
                                    
                            }
                            q = q.replace(m[0], "");
                            matched = true;
                            break;
                        }
                    }

                    if(!matched){
                        throw 'Error parsing selector, parsing failed at "' + q + '"';
                    }
                }
                if(mm[1]){
                    mode=mm[1].replace(trimRe, "");
                    q = q.replace(mm[1], "");
                }
            }
            return nodup(n);
        }		

     return {
        getStyle : function(el, name){
             return Ext.fly(el).getStyle(name);
        },
		
		compile: function(path, type) {
			return function(root) {
					return search(path, root, type);
			}
		},

        
        select : function(path, root, type){
            if(!root || root == document){
                root = document;
            }
            if(typeof root == "string"){
                root = document.getElementById(root);
            }
            var paths = path.split(",");
            var results = [];
            for(var i = 0, len = paths.length; i < len; i++){
                var p = paths[i].replace(trimRe, "");
                if(!cache[p]){
                    cache[p] = Ext.DomQuery.compile(p);
                    if(!cache[p]){
                        throw p + " is not a valid selector";
                    }
                }
                var result = cache[p](root);
                if(result && result != document){
                    results = results.concat(result);
                }
            }
            if(paths.length > 1){
                return nodup(results);
            }
            return results;
        },

        
        selectNode : function(path, root){
            return Ext.DomQuery.select(path, root)[0];
        },

        
        selectValue : function(path, root, defaultValue){
            path = path.replace(trimRe, "");
            if(!valueCache[path]){
                valueCache[path] = Ext.DomQuery.compile(path, "select");
            }
            var n = valueCache[path](root);
            n = n[0] ? n[0] : n;
            var v = (n && n.firstChild ? n.firstChild.nodeValue : null);
            return ((v === null||v === undefined||v==='') ? defaultValue : v);
        },

        
        selectNumber : function(path, root, defaultValue){
            var v = Ext.DomQuery.selectValue(path, root, defaultValue || 0);
            return parseFloat(v);
        },

        
        is : function(el, ss){
            if(typeof el == "string"){
                el = document.getElementById(el);
            }
            var isArray = Ext.isArray(el);
            var result = Ext.DomQuery.filter(isArray ? el : [el], ss);
            return isArray ? (result.length == el.length) : (result.length > 0);
        },

        
        filter : function(els, ss, nonMatches){
            ss = ss.replace(trimRe, "");
            if(!simpleCache[ss]){
                simpleCache[ss] = Ext.DomQuery.compile(ss, "simple");
            }
            var result = simpleCache[ss](els);
            return nonMatches ? quickDiff(result, els) : result;
        },

        
        matchers : [{
                re: /^\.([\w-]+)/,
                select: 'n = byClassName(n, null, " {1} ");'
            }, {
                re: /^\:([\w-]+)(?:\(((?:[^\s>\/]*|.*?))\))?/,
                select: 'n = byPseudo(n, "{1}", "{2}");'
            },{
                re: /^(?:([\[\{])(?:@)?([\w-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]\}])/,
                select: 'n = byAttribute(n, "{2}", "{4}", "{3}", "{1}");'
            }, {
                re: /^#([\w-]+)/,
                select: 'n = byId(n, null, "{1}");'
            },{
                re: /^@([\w-]+)/,
                select: 'return {firstChild:{nodeValue:attrValue(n, "{1}")}};'
            }
        ],

        
        operators : {
            "=" : function(a, v){
                return a == v;
            },
            "!=" : function(a, v){
                return a != v;
            },
            "^=" : function(a, v){
                return a && a.substr(0, v.length) == v;
            },
            "$=" : function(a, v){
                return a && a.substr(a.length-v.length) == v;
            },
            "*=" : function(a, v){
                return a && a.indexOf(v) !== -1;
            },
            "%=" : function(a, v){
                return (a % v) == 0;
            },
            "|=" : function(a, v){
                return a && (a == v || a.substr(0, v.length+1) == v+'-');
            },
            "~=" : function(a, v){
                return a && (' '+a+' ').indexOf(' '+v+' ') != -1;
            }
        },

        
        pseudos : {
            "first-child" : function(c){
                var r = [], ri = -1, n;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一级二级三级| 亚洲人成精品久久久久久| 久久成人av少妇免费| 91精品国产综合久久婷婷香蕉| 日韩av成人高清| 久久久噜噜噜久久中文字幕色伊伊| 国产精品一区在线观看你懂的| 国产日韩精品久久久| 成人激情黄色小说| 一区二区在线看| 8x8x8国产精品| 国产一二精品视频| 亚洲视频精选在线| 欧美精品久久久久久久久老牛影院| 日本成人在线不卡视频| 中国色在线观看另类| 91网站在线观看视频| 亚洲成人在线免费| 久久久久久久综合狠狠综合| 99久久久国产精品| 五月婷婷激情综合| 日本一区二区成人在线| 欧美视频你懂的| 国精产品一区一区三区mba视频 | 91麻豆精品国产91久久久资源速度 | 国产免费久久精品| 99国产精品视频免费观看| 亚洲精品视频一区二区| 欧美一区二区三区四区高清| 精品一区二区在线视频| 亚洲欧洲av在线| 日韩欧美中文字幕一区| 欧美写真视频网站| 日本三级亚洲精品| 国产精品久久久久桃色tv| 欧美二区乱c少妇| 成人av免费在线播放| 爽爽淫人综合网网站| 亚洲国产成人自拍| 91精品国产高清一区二区三区 | 国产一区二区三区免费在线观看| 亚洲精品国产第一综合99久久| 精品理论电影在线观看| 色呦呦国产精品| 国产成人一区二区精品非洲| 视频一区视频二区中文字幕| 亚洲视频在线一区| 久久久www成人免费毛片麻豆| 欧美日韩亚州综合| 91美女精品福利| 国产成人av福利| 久久国产精品一区二区| 无码av中文一区二区三区桃花岛| 国产精品久久久久aaaa樱花 | 亚洲摸摸操操av| 亚洲精品在线免费播放| 日韩一区二区视频在线观看| 欧洲av在线精品| 北条麻妃国产九九精品视频| 国产一区不卡在线| 精品中文字幕一区二区小辣椒| 亚洲成av人片一区二区梦乃| 亚洲靠逼com| 国产精品久久影院| 国产精品久久久久久久久免费相片| 日韩免费观看高清完整版| 欧美精品欧美精品系列| 欧美在线观看一区二区| 在线欧美日韩国产| 色狠狠色噜噜噜综合网| 99r精品视频| 99久久综合国产精品| 成人美女在线视频| 成人av第一页| 成人av网站在线观看免费| 欧美性做爰猛烈叫床潮| 欧美日韩一区高清| 欧美久久久久久久久| 欧美在线观看禁18| 欧美亚洲动漫另类| 欧美日韩一区在线观看| 欧美男人的天堂一二区| 欧美人妇做爰xxxⅹ性高电影| 3d成人动漫网站| 欧美电影免费观看高清完整版在线| 欧美成人女星排名| 精品国产乱码久久久久久免费 | 欧美高清hd18日本| 日韩欧美国产不卡| 国产亚洲va综合人人澡精品| 中文字幕av不卡| 一区二区三区在线免费观看| 亚洲一区二区三区小说| 日韩在线a电影| 国产曰批免费观看久久久| 成人黄色在线视频| 色噜噜偷拍精品综合在线| 欧美日韩在线观看一区二区| 精品国产一二三区| 日韩视频一区在线观看| 精品国产不卡一区二区三区| 午夜精品福利一区二区三区蜜桃| 亚洲国产日韩一级| 久久精品国产77777蜜臀| 粉嫩aⅴ一区二区三区四区五区| bt欧美亚洲午夜电影天堂| 91精品福利视频| 日韩美一区二区三区| 国产精品国产三级国产aⅴ无密码| 亚洲一区二区三区自拍| 国产米奇在线777精品观看| 91在线无精精品入口| 91精品国产色综合久久不卡电影| 日本一区二区三区电影| 亚洲资源中文字幕| 国产麻豆精品一区二区| 欧美性三三影院| 久久精品一区四区| 亚洲成人自拍一区| 国产1区2区3区精品美女| 欧美午夜精品理论片a级按摩| 国产欧美日韩三区| 一区二区三区高清在线| 国产乱子伦一区二区三区国色天香| 91在线云播放| 久久久国产午夜精品| 亚洲成人激情自拍| 成人av高清在线| 日韩欧美国产综合| 亚洲亚洲精品在线观看| 国产白丝精品91爽爽久久| 制服丝袜一区二区三区| 亚洲免费观看高清完整版在线观看| 精品在线播放午夜| 欧美巨大另类极品videosbest | 国产精品久久久久影院| 久久99精品国产麻豆婷婷| 91国偷自产一区二区开放时间| 精品国产免费视频| 午夜成人免费电影| 日本乱人伦一区| 亚洲欧洲日韩综合一区二区| 久久99久久久欧美国产| 欧美人与禽zozo性伦| 亚洲精品国产视频| zzijzzij亚洲日本少妇熟睡| 久久欧美一区二区| 久久精品国产精品亚洲红杏| 欧美日韩高清在线播放| 亚洲午夜电影在线观看| 一本久久a久久免费精品不卡| 国产欧美一区二区精品性| 久久99精品国产| 欧美大白屁股肥臀xxxxxx| 日日夜夜免费精品视频| 欧美日韩国产免费一区二区| 亚洲综合图片区| 在线亚洲一区观看| 亚洲一区二区在线播放相泽| 色香蕉久久蜜桃| 亚洲美女偷拍久久| 色偷偷久久一区二区三区| 国产精品对白交换视频| 99久久777色| 亚洲欧美aⅴ...| 91久久一区二区| 亚洲宅男天堂在线观看无病毒| 欧洲精品一区二区三区在线观看| 亚洲精品乱码久久久久| 在线播放欧美女士性生活| 日韩精品一级二级 | 亚洲欧美综合色| 欧美午夜影院一区| 亚洲色图丝袜美腿| bt欧美亚洲午夜电影天堂| 久久久.com| 成人97人人超碰人人99| 日韩精品自拍偷拍| 国产制服丝袜一区| 国产亚洲自拍一区| 国产成人综合在线| 一区免费观看视频| 99精品国产视频| 亚洲永久精品大片| 色就色 综合激情| 亚洲综合一二区| 日韩欧美一级精品久久| 麻豆精品在线视频| 欧美国产丝袜视频| 亚洲一区二区三区四区不卡| 91精品国产综合久久国产大片| 精品午夜一区二区三区在线观看| 日韩欧美另类在线| 国产.精品.日韩.另类.中文.在线.播放 | 日韩av中文字幕一区二区| 欧美日韩极品在线观看一区| 亚洲第一福利一区| 久久久蜜桃精品| 国产成人精品免费视频网站| 亚洲精品视频在线|