亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
3d成人动漫网站| 国产精品热久久久久夜色精品三区 | 国产一区二区中文字幕| 日韩电影在线看| 亚洲成人激情社区| 亚洲高清免费视频| 香蕉加勒比综合久久| 日韩和欧美的一区| 日本最新不卡在线| 一区av在线播放| 国产精品一区一区| 国产美女在线精品| 国产精品香蕉一区二区三区| 黄色日韩三级电影| 国产成人精品三级麻豆| 成a人片国产精品| 91欧美激情一区二区三区成人| 亚洲午夜成aⅴ人片| 亚洲午夜私人影院| 日本中文一区二区三区| 久久99深爱久久99精品| 国产美女视频91| 成人亚洲精品久久久久软件| 91亚洲资源网| 欧美日韩免费电影| 精品精品欲导航| 国产欧美日韩三级| 亚洲精品乱码久久久久久日本蜜臀 | 国产精品嫩草影院com| 成人免费在线观看入口| 亚洲一区二区三区在线看| 天堂在线一区二区| 国产一区二区三区在线观看精品| 国产成人午夜视频| 91麻豆6部合集magnet| 欧美美女一区二区在线观看| 精品久久久久久久久久久院品网 | 欧美日韩在线精品一区二区三区激情| 欧美午夜免费电影| 亚洲精品在线网站| 中文字幕日本不卡| 婷婷久久综合九色国产成人| 青青青伊人色综合久久| 国产高清精品在线| 欧美三级中文字幕| 精品久久久影院| 亚洲少妇最新在线视频| 日本女人一区二区三区| 国产成人免费在线视频| 欧美日韩日日骚| 国产精品三级久久久久三级| 亚洲国产精品久久久久婷婷884 | 国产成人av电影在线播放| 9i看片成人免费高清| 欧美美女一区二区在线观看| 中文字幕欧美激情| 五月激情综合婷婷| av在线一区二区| 日韩精品一区二区三区中文不卡| 国产精品毛片久久久久久久| 日韩中文字幕av电影| www.亚洲激情.com| 欧美精品一区二区三区高清aⅴ| 亚洲免费观看高清完整版在线观看熊| 麻豆91在线播放免费| 91碰在线视频| 日本一区二区三级电影在线观看| 亚洲18色成人| av综合在线播放| 国产夜色精品一区二区av| 亚洲一区二区不卡免费| 成人av在线观| 久久精品人人做人人爽人人| 日韩国产一二三区| 欧美性猛片aaaaaaa做受| 国产精品乱人伦| 国产主播一区二区三区| 91精品国产综合久久蜜臀| 一区二区三区日本| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 精品久久久久久久久久久久包黑料| 亚洲色图都市小说| 国产成人亚洲综合a∨婷婷 | 欧美激情中文字幕一区二区| 韩日av一区二区| 国产999精品久久| 欧美www视频| 日本一道高清亚洲日美韩| 欧美综合亚洲图片综合区| 中文字幕亚洲欧美在线不卡| 韩国精品久久久| 精品国产乱码久久久久久蜜臀| 午夜精品福利视频网站| 日本韩国欧美在线| 亚洲欧美国产高清| 色呦呦国产精品| 亚洲欧美色一区| 色综合天天综合在线视频| 中文字幕av免费专区久久| 国产久卡久卡久卡久卡视频精品| 日韩欧美高清dvd碟片| 秋霞成人午夜伦在线观看| 91精品福利在线一区二区三区 | 精品亚洲成a人在线观看| 欧美一级精品大片| 日韩高清不卡一区二区三区| 欧美精品色一区二区三区| 亚洲成a人片在线观看中文| 精品视频在线看| 日韩激情在线观看| 日韩女优电影在线观看| 麻豆精品精品国产自在97香蕉| 日韩欧美专区在线| 精品一区二区精品| 国产欧美一区二区三区沐欲| 国产高清亚洲一区| 中文字幕人成不卡一区| 色综合久久综合中文综合网| 一区二区三区不卡视频| 欧美精品在线观看一区二区| 秋霞成人午夜伦在线观看| 精品成人免费观看| 成人av先锋影音| 一区二区成人在线| 欧美一区二区久久久| 国产乱子轮精品视频| 中文字幕中文字幕在线一区 | 天堂久久久久va久久久久| 欧美一区二区三区人| 国产精品亚洲а∨天堂免在线| 国产精品人妖ts系列视频| 91福利资源站| 日本中文一区二区三区| 欧美一级欧美一级在线播放| 激情五月激情综合网| 亚洲欧美综合另类在线卡通| 欧美揉bbbbb揉bbbbb| 久久99热这里只有精品| 国产精品你懂的在线欣赏| 欧洲人成人精品| 蜜桃av一区二区| 国产精品丝袜91| 欧美日韩精品一区二区三区蜜桃| 中文字幕国产一区| 欧美亚洲一区二区三区四区| 免费人成黄页网站在线一区二区| 国产亚洲欧美日韩日本| 在线中文字幕一区二区| 麻豆久久一区二区| 777亚洲妇女| 亚洲美女少妇撒尿| 日本在线不卡视频| 色综合色狠狠综合色| 五月天中文字幕一区二区| 亚洲精品一区二区三区蜜桃下载 | 蜜臀91精品一区二区三区| 欧美激情综合网| 欧美日韩国产影片| 国产99久久久国产精品潘金| 一区二区免费看| 亚洲精品一区二区在线观看| 91国偷自产一区二区三区成为亚洲经典 | 欧美大肚乱孕交hd孕妇| av不卡免费电影| 激情综合网最新| 艳妇臀荡乳欲伦亚洲一区| 国产女人aaa级久久久级| 欧美日韩国产片| 99视频在线观看一区三区| 精品一区二区在线观看| 一区二区视频在线| 国产欧美精品一区二区色综合| 欧美日韩国产在线播放网站| 99免费精品视频| 国产一区二区剧情av在线| 婷婷丁香久久五月婷婷| 亚洲日本va午夜在线电影| 精品国精品国产| 欧美美女直播网站| 在线免费视频一区二区| 成人美女视频在线看| 国产一区二三区好的| 欧美日韩免费一区二区三区| 中文文精品字幕一区二区| 日韩高清欧美激情| 91精品久久久久久久99蜜桃| 91视视频在线观看入口直接观看www | 欧美日韩亚洲综合一区| caoporn国产精品| 国产传媒欧美日韩成人| 蜜臀av一区二区| 日韩高清国产一区在线| 亚洲电影一区二区三区| 亚洲人123区| 亚洲视频免费在线观看| 中文字幕在线一区免费| 欧美激情一区二区三区在线| 久久蜜桃一区二区| 久久女同性恋中文字幕| 精品久久久久久久久久久久久久久久久 |