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

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

?? chooser.js

?? struts2結合ext參數傳遞
?? JS
字號:
/*
 * Ext JS Library 2.2
 * Copyright(c) 2006-2008, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://extjs.com/license
 */

/*
 * Ext JS Library 2.0
 * Copyright(c) 2006-2007, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://extjs.com/license
 */
 
var ImageChooser = function(config){
	this.config = config;
}

ImageChooser.prototype = {
    // cache data by image name for easy lookup
    lookup : {},
    
	show : function(el, callback){
		if(!this.win){
			this.initTemplates();
			
			this.store = new Ext.data.JsonStore({
			    url: this.config.url,
			    root: 'images',
			    fields: [
			        'name', 'url',
			        {name:'size', type: 'float'},
			        {name:'lastmod', type:'date', dateFormat:'timestamp'}
			    ],
			    listeners: {
			    	'load': {fn:function(){ this.view.select(0); }, scope:this, single:true}
			    }
			});
			this.store.load();
			
			var formatSize = function(data){
		        if(data.size < 1024) {
		            return data.size + " bytes";
		        } else {
		            return (Math.round(((data.size*10) / 1024))/10) + " KB";
		        }
		    };
			
			var formatData = function(data){
		    	data.shortName = data.name.ellipse(15);
		    	data.sizeString = formatSize(data);
		    	data.dateString = new Date(data.lastmod).format("m/d/Y g:i a");
		    	this.lookup[data.name] = data;
		    	return data;
		    };
			
		    this.view = new Ext.DataView({
				tpl: this.thumbTemplate,
				singleSelect: true,
				overClass:'x-view-over',
				itemSelector: 'div.thumb-wrap',
				emptyText : '<div style="padding:10px;">No images match the specified filter</div>',
				store: this.store,
				listeners: {
					'selectionchange': {fn:this.showDetails, scope:this, buffer:100},
					'dblclick'       : {fn:this.doCallback, scope:this},
					'loadexception'  : {fn:this.onLoadException, scope:this},
					'beforeselect'   : {fn:function(view){
				        return view.store.getRange().length > 0;
				    }}
				},
				prepareData: formatData.createDelegate(this)
			});
		    
			var cfg = {
		    	title: 'Choose an Image',
		    	id: 'img-chooser-dlg',
		    	layout: 'border',
				minWidth: 500,
				minHeight: 300,
				modal: true,
				closeAction: 'hide',
				border: false,
				items:[{
					id: 'img-chooser-view',
					region: 'center',
					autoScroll: true,
					items: this.view,
                    tbar:[{
                    	text: 'Filter:'
                    },{
                    	xtype: 'textfield',
                    	id: 'filter',
                    	selectOnFocus: true,
                    	width: 100,
                    	listeners: {
                    		'render': {fn:function(){
						    	Ext.getCmp('filter').getEl().on('keyup', function(){
						    		this.filter();
						    	}, this, {buffer:500});
                    		}, scope:this}
                    	}
                    }, ' ', '-', {
                    	text: 'Sort By:'
                    }, {
                    	id: 'sortSelect',
                    	xtype: 'combo',
				        typeAhead: true,
				        triggerAction: 'all',
				        width: 100,
				        editable: false,
				        mode: 'local',
				        displayField: 'desc',
				        valueField: 'name',
				        lazyInit: false,
				        value: 'name',
				        store: new Ext.data.SimpleStore({
					        fields: ['name', 'desc'],
					        data : [['name', 'Name'],['size', 'File Size'],['lastmod', 'Last Modified']]
					    }),
					    listeners: {
							'select': {fn:this.sortImages, scope:this}
					    }
				    }]
				},{
					id: 'img-detail-panel',
					region: 'east',
					split: true,
					width: 150,
					minWidth: 150,
					maxWidth: 250
				}],
				buttons: [{
					id: 'ok-btn',
					text: 'OK',
					handler: this.doCallback,
					scope: this
				},{
					text: 'Cancel',
					handler: function(){ this.win.hide(); },
					scope: this
				}],
				keys: {
					key: 27, // Esc key
					handler: function(){ this.win.hide(); },
					scope: this
				}
			};
			Ext.apply(cfg, this.config);
		    this.win = new Ext.Window(cfg);
		}
		
		this.reset();
	    this.win.show(el);
		this.callback = callback;
		this.animateTarget = el;
	},
	
	initTemplates : function(){
		this.thumbTemplate = new Ext.XTemplate(
			'<tpl for=".">',
				'<div class="thumb-wrap" id="{name}">',
				'<div class="thumb"><img src="{url}" title="{name}"></div>',
				'<span>{shortName}</span></div>',
			'</tpl>'
		);
		this.thumbTemplate.compile();
		
		this.detailsTemplate = new Ext.XTemplate(
			'<div class="details">',
				'<tpl for=".">',
					'<img src="{url}"><div class="details-info">',
					'<b>Image Name:</b>',
					'<span>{name}</span>',
					'<b>Size:</b>',
					'<span>{sizeString}</span>',
					'<b>Last Modified:</b>',
					'<span>{dateString}</span></div>',
				'</tpl>',
			'</div>'
		);
		this.detailsTemplate.compile();
	},
	
	showDetails : function(){
	    var selNode = this.view.getSelectedNodes();
	    var detailEl = Ext.getCmp('img-detail-panel').body;
		if(selNode && selNode.length > 0){
			selNode = selNode[0];
			Ext.getCmp('ok-btn').enable();
		    var data = this.lookup[selNode.id];
            detailEl.hide();
            this.detailsTemplate.overwrite(detailEl, data);
            detailEl.slideIn('l', {stopFx:true,duration:.2});
		}else{
		    Ext.getCmp('ok-btn').disable();
		    detailEl.update('');
		}
	},
	
	filter : function(){
		var filter = Ext.getCmp('filter');
		this.view.store.filter('name', filter.getValue());
		this.view.select(0);
	},
	
	sortImages : function(){
		var v = Ext.getCmp('sortSelect').getValue();
    	this.view.store.sort(v, v == 'name' ? 'asc' : 'desc');
    	this.view.select(0);
    },
	
	reset : function(){
		if(this.win.rendered){
			Ext.getCmp('filter').reset();
			this.view.getEl().dom.scrollTop = 0;
		}
	    this.view.store.clearFilter();
		this.view.select(0);
	},
	
	doCallback : function(){
        var selNode = this.view.getSelectedNodes()[0];
		var callback = this.callback;
		var lookup = this.lookup;
		this.win.hide(this.animateTarget, function(){
            if(selNode && callback){
				var data = lookup[selNode.id];
				callback(data);
			}
		});
    },
	
	onLoadException : function(v,o){
	    this.view.getEl().update('<div style="padding:10px;">Error loading images.</div>'); 
	}
};

String.prototype.ellipse = function(maxLength){
    if(this.length > maxLength){
        return this.substr(0, maxLength-3) + '...';
    }
    return this;
};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
秋霞电影一区二区| 欧美伊人久久久久久午夜久久久久| 日韩成人伦理电影在线观看| 亚洲一区中文在线| 亚洲在线视频一区| 国产精品自拍在线| 激情综合色播五月| 狠狠久久亚洲欧美| 国产在线国偷精品免费看| 精品一区二区三区在线观看国产 | 婷婷丁香激情综合| 天天综合色天天综合色h| 天堂在线一区二区| 蜜桃av噜噜一区| 精品一区二区三区免费| 国产麻豆成人传媒免费观看| 国产suv精品一区二区三区| 粉嫩av一区二区三区| 成人动漫中文字幕| 91麻豆福利精品推荐| 欧美少妇性性性| 欧美一级黄色片| 久久久精品免费网站| 国产精品久久福利| 亚洲一区二区三区在线看| 日韩成人免费电影| 国产不卡在线播放| 日本高清视频一区二区| 884aa四虎影成人精品一区| 欧美tk—视频vk| 国产精品久久久久7777按摩| 亚洲国产精品一区二区久久| 美女精品自拍一二三四| 成人小视频免费在线观看| 91久久一区二区| 欧美一区二区三区人| 久久久久99精品一区| 一区二区三区中文字幕| 男人的j进女人的j一区| 成人爽a毛片一区二区免费| 色婷婷av一区二区三区软件| 欧美一区二区在线播放| 国产欧美日韩激情| 成人动漫一区二区在线| 在线观看www91| 欧美大片日本大片免费观看| 中文字幕中文字幕中文字幕亚洲无线 | 国产人成一区二区三区影院| 亚洲视频一区二区免费在线观看| 天堂成人免费av电影一区| 国产原创一区二区三区| 欧美中文一区二区三区| 久久综合网色—综合色88| 亚洲自拍偷拍欧美| 国产精品一区二区免费不卡 | av在线免费不卡| 欧美电影影音先锋| 中文字幕第一区| 视频一区二区三区在线| 成人精品电影在线观看| 欧美一级xxx| 一区二区三区在线免费播放| 国产精品99久| 日韩一区和二区| 亚洲欧美日韩一区二区| 国产一区在线精品| 欧美日韩中字一区| 综合久久综合久久| 国产麻豆成人传媒免费观看| 欧美一区二区私人影院日本| 亚洲色大成网站www久久九九| 激情六月婷婷综合| 欧美日韩国产美女| 亚洲视频小说图片| 成人免费毛片嘿嘿连载视频| 欧美一区二区免费| 亚洲福利视频三区| 欧美亚洲一区二区三区四区| 国产精品亲子伦对白| 国产曰批免费观看久久久| 综合久久给合久久狠狠狠97色 | 高清免费成人av| 欧美大片在线观看一区| 日韩福利视频网| 色8久久精品久久久久久蜜| 国产精品色在线| 国产精品123区| 日韩精品一区二区三区在线 | 91麻豆产精品久久久久久| 国产日本亚洲高清| 国产一区二区三区国产| 日韩视频永久免费| 亚洲v日本v欧美v久久精品| 一本色道久久综合亚洲aⅴ蜜桃| 国产清纯美女被跳蛋高潮一区二区久久w | 免费欧美在线视频| 欧美日韩在线精品一区二区三区激情| 一区免费观看视频| 99在线热播精品免费| 国产精品美女视频| 波多野结衣中文字幕一区二区三区| 精品乱人伦小说| 免费看日韩a级影片| 91精品国产综合久久蜜臀| 亚洲不卡在线观看| 欧美久久久一区| 青青青伊人色综合久久| 日韩三级av在线播放| 久久99精品久久久久婷婷| 精品久久久久久久久久久久包黑料 | 成人网男人的天堂| 中文字幕一区二区视频| 91美女片黄在线观看91美女| 亚洲伦理在线精品| 欧美影视一区二区三区| 亚洲自拍偷拍欧美| 欧美一区二区在线免费播放| 久久国产夜色精品鲁鲁99| 26uuu亚洲| av在线不卡电影| 一区二区在线观看免费视频播放 | 中文字幕在线观看一区| 99精品久久99久久久久| 一区二区免费看| 欧美日韩一区二区在线视频| 日本高清免费不卡视频| 亚洲综合在线视频| 91精品国产一区二区三区蜜臀 | 天堂一区二区在线免费观看| 成人免费视频免费观看| 久久久久国色av免费看影院| 国产一区二区三区日韩| 国产精品欧美久久久久无广告| 99国产精品一区| 亚洲国产视频直播| 亚洲国产一区二区三区青草影视| 欧美日韩国产美女| 国产一区二区视频在线播放| 中文字幕av资源一区| 欧美四级电影在线观看| 日本sm残虐另类| 国产精品美女视频| 欧美日韩高清在线| 国产夫妻精品视频| 一区二区高清在线| 精品理论电影在线| 91在线丨porny丨国产| 日韩高清在线电影| 日本一区二区视频在线观看| 欧美主播一区二区三区美女| 久久精品理论片| 亚洲视频一二区| 欧美精品一区二区三区四区| 97久久精品人人爽人人爽蜜臀| 日本在线观看不卡视频| 国产欧美视频一区二区三区| 欧美日韩一区二区在线观看 | 在线播放欧美女士性生活| 国产中文字幕一区| 亚洲黄色小视频| 久久久久高清精品| 欧美精品久久久久久久多人混战 | 国产精品久久久久久久久图文区| 欧美综合亚洲图片综合区| 韩国精品久久久| 亚洲国产精品一区二区www在线| 国产欧美日产一区| 欧美一区二区成人| 色悠悠久久综合| 国产成人夜色高潮福利影视| 香蕉乱码成人久久天堂爱免费| 亚洲国产成人午夜在线一区| 欧美猛男男办公室激情| a4yy欧美一区二区三区| 九九久久精品视频| 亚洲美女区一区| 久久久久久综合| 这里是久久伊人| 欧美性大战久久久久久久蜜臀| 成人高清伦理免费影院在线观看| 美国三级日本三级久久99| 亚洲影院免费观看| 亚洲欧洲性图库| 午夜精品福利一区二区三区av | 国产精品1024| 玖玖九九国产精品| 日韩国产一二三区| 亚洲一区二区三区四区的| 国产精品麻豆一区二区| 26uuu久久天堂性欧美| 欧美一级欧美一级在线播放| 欧美日韩国产一区| 欧美亚洲免费在线一区| 一本大道综合伊人精品热热| www.一区二区| 成人中文字幕电影| 丁香五精品蜜臀久久久久99网站 | 国产一区二区三区精品欧美日韩一区二区三区 | 日韩一区二区精品葵司在线| 欧美日韩精品系列|