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

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

?? ext.ux.uploaddialog.packed.js

?? 實現了一個OA系統基本的功能
?? JS
?? 第 1 頁 / 共 3 頁
字號:
Ext.namespace("Ext.ux.Utils");
Ext.ux.Utils.EventQueue = function(handler, scope) {
	if (!handler) {
		throw "Handler is required."
	}
	this.handler = handler;
	this.scope = scope || window;
	this.queue = [];
	this.is_processing = false;
	this.postEvent = function(event, data) {
		data = data || null;
		this.queue.push({
			event : event,
			data : data
		});
		if (!this.is_processing) {
			this.process()
		}
	};
	this.flushEventQueue = function() {
		this.queue = []
	}, this.process = function() {
		while (this.queue.length > 0) {
			this.is_processing = true;
			var event_data = this.queue.shift();
			this.handler.call(this.scope, event_data.event, event_data.data)
		}
		this.is_processing = false
	}
};
Ext.ux.Utils.FSA = function(initial_state, trans_table, trans_table_scope) {
	this.current_state = initial_state;
	this.trans_table = trans_table || {};
	this.trans_table_scope = trans_table_scope || window;
	Ext.ux.Utils.FSA.superclass.constructor.call(this, this.processEvent, this)
};
Ext.extend(Ext.ux.Utils.FSA, Ext.ux.Utils.EventQueue, {
	current_state : null,
	trans_table : null,
	trans_table_scope : null,
	state : function() {
		return this.current_state
	},
	processEvent : function(event, data) {
		var transitions = this.currentStateEventTransitions(event);
		if (!transitions) {
			throw "State '" + this.current_state
					+ "' has no transition for event '" + event + "'."
		}
		for (var i = 0, len = transitions.length; i < len; i++) {
			var transition = transitions[i];
			var predicate = transition.predicate || transition.p || true;
			var action = transition.action || transition.a || Ext.emptyFn;
			var new_state = transition.state || transition.s
					|| this.current_state;
			var scope = transition.scope || this.trans_table_scope;
			if (this.computePredicate(predicate, scope, data, event)) {
				this.callAction(action, scope, data, event);
				this.current_state = new_state;
				return
			}
		}
		throw "State '" + this.current_state
				+ "' has no transition for event '" + event
				+ "' in current context"
	},
	currentStateEventTransitions : function(event) {
		return this.trans_table[this.current_state]
				? this.trans_table[this.current_state][event] || false
				: false
	},
	computePredicate : function(predicate, scope, data, event) {
		var result = false;
		switch (Ext.type(predicate)) {
			case "function" :
				result = predicate.call(scope, data, event, this);
				break;
			case "array" :
				result = true;
				for (var i = 0, len = predicate.length; result && (i < len); i++) {
					if (Ext.type(predicate[i]) == "function") {
						result = predicate[i].call(scope, data, event, this)
					} else {
						throw ["Predicate: ", predicate[i],
								' is not callable in "', this.current_state,
								'" state for event "', event].join("")
					}
				}
				break;
			case "boolean" :
				result = predicate;
				break;
			default :
				throw ["Predicate: ", predicate, ' is not callable in "',
						this.current_state, '" state for event "', event]
						.join("")
		}
		return result
	},
	callAction : function(action, scope, data, event) {
		switch (Ext.type(action)) {
			case "array" :
				for (var i = 0, len = action.length; i < len; i++) {
					if (Ext.type(action[i]) == "function") {
						action[i].call(scope, data, event, this)
					} else {
						throw ["Action: ", action[i], ' is not callable in "',
								this.current_state, '" state for event "',
								event].join("")
					}
				}
				break;
			case "function" :
				action.call(scope, data, event, this);
				break;
			default :
				throw ["Action: ", action, ' is not callable in "',
						this.current_state, '" state for event "', event]
						.join("")
		}
	}
});
Ext.namespace("Ext.ux.UploadDialog");
Ext.ux.UploadDialog.BrowseButton = Ext.extend(Ext.Button, {
	input_name : "file",
	input_file : null,
	original_handler : null,
	original_scope : null,
	initComponent : function() {
		Ext.ux.UploadDialog.BrowseButton.superclass.initComponent.call(this);
		this.original_handler = this.handler || null;
		this.original_scope = this.scope || window;
		this.handler = null;
		this.scope = null
	},
	onRender : function(ct, position) {
		Ext.ux.UploadDialog.BrowseButton.superclass.onRender.call(this, ct,
				position);
		this.createInputFile()
	},
	createInputFile : function() {
		var button_container = this.el.child(".x-btn-center");
		button_container.position("relative");
		this.input_file = Ext.DomHelper.append(button_container, {
			tag : "input",
			type : "file",
			size : 1,
			name : this.input_name || Ext.id(this.el),
			style : "position: absolute; display: block; border: none; cursor: pointer"
		}, true);
		var button_box = button_container.getBox();
		this.input_file.setStyle("font-size", (button_box.width * 0.5) + "px");
		var input_box = this.input_file.getBox();
		var adj = {
			x : 3,
			y : 3
		};
		if (Ext.isIE) {
			adj = {
				x : 0,
				y : 3
			}
		}
		this.input_file.setLeft(button_box.width - input_box.width + adj.x
				+ "px");
		this.input_file.setTop(button_box.height - input_box.height + adj.y
				+ "px");
		this.input_file.setOpacity(0);
		if (this.handleMouseEvents) {
			this.input_file.on("mouseover", this.onMouseOver, this);
			this.input_file.on("mousedown", this.onMouseDown, this)
		}
		if (this.tooltip) {
			if (typeof this.tooltip == "object") {
				Ext.QuickTips.register(Ext.apply({
					target : this.input_file
				}, this.tooltip))
			} else {
				this.input_file.dom[this.tooltipType] = this.tooltip
			}
		}
		this.input_file.on("change", this.onInputFileChange, this);
		this.input_file.on("click", function(e) {
			e.stopPropagation()
		})
	},
	detachInputFile : function(no_create) {
		var result = this.input_file;
		no_create = no_create || false;
		if (typeof this.tooltip == "object") {
			Ext.QuickTips.unregister(this.input_file)
		} else {
			this.input_file.dom[this.tooltipType] = null
		}
		this.input_file.removeAllListeners();
		this.input_file = null;
		if (!no_create) {
			this.createInputFile()
		}
		return result
	},
	getInputFile : function() {
		return this.input_file
	},
	disable : function() {
		Ext.ux.UploadDialog.BrowseButton.superclass.disable.call(this);
		this.input_file.dom.disabled = true
	},
	enable : function() {
		Ext.ux.UploadDialog.BrowseButton.superclass.enable.call(this);
		this.input_file.dom.disabled = false
	},
	destroy : function() {
		var input_file = this.detachInputFile(true);
		input_file.remove();
		input_file = null;
		Ext.ux.UploadDialog.BrowseButton.superclass.destroy.call(this)
	},
	onInputFileChange : function() {
		if (this.original_handler) {
			this.original_handler.call(this.original_scope, this)
		}
	}
});
Ext.ux.UploadDialog.TBBrowseButton = Ext.extend(
		Ext.ux.UploadDialog.BrowseButton, {
			hideParent : true,
			onDestroy : function() {
				Ext.ux.UploadDialog.TBBrowseButton.superclass.onDestroy
						.call(this);
				if (this.container) {
					this.container.remove()
				}
			}
		});
Ext.ux.UploadDialog.FileRecord = Ext.data.Record.create([{
	name : "filename"
}, {
	name : "state",
	type : "int"
}, {
	name : "note"
}, {
	name : "input_element"
}]);
Ext.ux.UploadDialog.FileRecord.STATE_QUEUE = 0;
Ext.ux.UploadDialog.FileRecord.STATE_FINISHED = 1;
Ext.ux.UploadDialog.FileRecord.STATE_FAILED = 2;
Ext.ux.UploadDialog.FileRecord.STATE_PROCESSING = 3;
Ext.ux.UploadDialog.Dialog = function(config) {
	var default_config = {
		border : false,
		width : 450,
		height : 300,
		minWidth : 450,
		minHeight : 300,
		plain : true,
		constrainHeader : true,
		draggable : true,
		closable : true,
		maximizable : false,
		minimizable : false,
		resizable : true,
		autoDestroy : true,
		closeAction : "hide",
		title : this.i18n.title,
		cls : "ext-ux-uploaddialog-dialog",
		url : "",
		base_params : {},
		permitted_extensions : [],
		reset_on_hide : true,
		allow_close_on_upload : false,
		upload_autostart : false
	};
	config = Ext.applyIf(config || {}, default_config);
	config.layout = "absolute";
	Ext.ux.UploadDialog.Dialog.superclass.constructor.call(this, config)
};
Ext.extend(Ext.ux.UploadDialog.Dialog, Ext.Window, {
	fsa : null,
	state_tpl : null,
	form : null,
	grid_panel : null,
	progress_bar : null,
	is_uploading : false,
	initial_queued_count : 0,
	upload_frame : null,
	initComponent : function() {
		Ext.ux.UploadDialog.Dialog.superclass.initComponent.call(this);
		var tt = {
			"created" : {
				"window-render" : [{
					action : [this.createForm, this.createProgressBar,
							this.createGrid],
					state : "rendering"
				}],
				"destroy" : [{
					action : this.flushEventQueue,
					state : "destroyed"
				}]
			},
			"rendering" : {
				"grid-render" : [{
					action : [this.fillToolbar, this.updateToolbar],
					state : "ready"
				}],
				"destroy" : [{
					action : this.flushEventQueue,
					state : "destroyed"
				}]
			},
			"ready" : {
				"file-selected" : [{
					predicate : [this.fireFileTestEvent, this.isPermittedFile],
					action : this.addFileToUploadQueue,
					state : "adding-file"
				}, {}],
				"grid-selection-change" : [{
					action : this.updateToolbar
				}],
				"remove-files" : [{
					action : [this.removeFiles, this.fireFileRemoveEvent]
				}],
				"reset-queue" : [{
					action : [this.resetQueue, this.fireResetQueueEvent]
				}],
				"start-upload" : [{
					predicate : this.hasUnuploadedFiles,
					action : [this.setUploadingFlag,
							this.saveInitialQueuedCount, this.updateToolbar,
							this.updateProgressBar, this.prepareNextUploadTask,
							this.fireUploadStartEvent],
					state : "uploading"
				}, {}],
				"stop-upload" : [{}],
				"hide" : [{
					predicate : [this.isNotEmptyQueue, this.getResetOnHide],
					action : [this.resetQueue, this.fireResetQueueEvent]
				}, {}],

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人激情av| 国产美女在线精品| 激情综合五月天| 91视频观看免费| 精品少妇一区二区| 一区二区三区蜜桃| 国产老妇另类xxxxx| 日韩一区二区三区四区五区六区| 综合久久久久久| 国产成人亚洲综合a∨婷婷图片| 91精品国产综合久久精品图片| 亚洲欧洲av另类| 国精产品一区一区三区mba桃花| 欧美三级电影在线看| 亚洲免费观看视频| 不卡一区二区在线| 国产精品系列在线| 国产成人8x视频一区二区| 精品日韩一区二区| 韩国精品一区二区| 精品国产伦一区二区三区观看体验| 亚洲第一精品在线| 欧美精选午夜久久久乱码6080| 亚洲欧美另类在线| 一本久久a久久精品亚洲 | 99久久99久久精品免费看蜜桃 | 亚洲国产精品人人做人人爽| 91一区二区三区在线观看| 亚洲国产激情av| 成人午夜又粗又硬又大| 中文字幕免费一区| 成人sese在线| 亚洲人成网站色在线观看| 色综合天天综合狠狠| 一区二区三区中文字幕精品精品 | 亚洲一区二区三区在线| 在线观看日韩高清av| 亚洲一区二区三区爽爽爽爽爽| 一本久久综合亚洲鲁鲁五月天 | 亚洲欧美电影院| 欧美主播一区二区三区美女| 亚洲高清免费在线| 91精品免费在线| 久久99精品网久久| 欧美激情资源网| 色婷婷久久久综合中文字幕| 午夜伦欧美伦电影理论片| 欧美日韩国产小视频在线观看| 亚洲国产精品一区二区久久 | 日韩一区二区三区四区五区六区 | 在线亚洲欧美专区二区| 五月天激情小说综合| 日韩视频免费观看高清完整版 | 久久国产剧场电影| 国产欧美一区二区精品性色超碰| 成人在线综合网| 亚洲久草在线视频| 日韩午夜激情av| jlzzjlzz欧美大全| 日韩av电影一区| 国产精品视频一区二区三区不卡| 日本高清视频一区二区| 视频在线观看一区| 欧美国产成人在线| 欧美女孩性生活视频| 国产一区二区0| 亚洲伊人色欲综合网| 久久午夜羞羞影院免费观看| 在线免费观看日韩欧美| 狠狠网亚洲精品| 亚洲一级在线观看| www.在线欧美| 一区二区三区日本| 欧美在线免费播放| 精品制服美女丁香| 亚洲美女屁股眼交| 精品国产污污免费网站入口| 91麻豆蜜桃一区二区三区| 美国精品在线观看| 一区二区三区四区激情| 精品人在线二区三区| 欧美亚洲国产bt| 国产电影一区二区三区| 亚洲欧美一区二区三区国产精品| 精品视频1区2区| 成人国产免费视频| 九九九精品视频| 亚洲成人中文在线| 亚洲欧美日韩精品久久久久| 2020国产精品自拍| 欧美一区二区三区性视频| 色婷婷国产精品| 成人国产精品视频| 国产精品综合二区| 精品一区二区国语对白| 亚洲国产精品麻豆| 亚洲在线观看免费视频| 18欧美亚洲精品| 精品国产伦一区二区三区观看体验| 国产九色精品成人porny| 婷婷综合在线观看| 亚洲精品成人天堂一二三| 国产欧美日韩亚州综合| 精品蜜桃在线看| 欧美日韩免费一区二区三区| jvid福利写真一区二区三区| 成人性生交大片免费看中文网站| 激情欧美一区二区三区在线观看| 日本美女视频一区二区| 午夜久久福利影院| 天堂在线亚洲视频| 亚洲国产裸拍裸体视频在线观看乱了 | 一区二区三区四区高清精品免费观看| 国产精品私房写真福利视频| 中文一区一区三区高中清不卡| 久久久精品人体av艺术| 亚洲精品五月天| 亚洲一区二区3| 无码av免费一区二区三区试看| 亚洲国产精品久久艾草纯爱| 亚洲成人自拍网| 免费看欧美美女黄的网站| 亚洲二区在线观看| 日韩av网站免费在线| 紧缚奴在线一区二区三区| 国产精品1区2区3区| 国产suv一区二区三区88区| 成人小视频在线| 色综合天天做天天爱| 欧美男人的天堂一二区| 日韩视频免费观看高清完整版在线观看| 91精品婷婷国产综合久久竹菊| 精品国精品自拍自在线| 国产精品久久久久影院老司| 一区二区三区不卡视频| 日本不卡视频在线| 国产精品亚洲综合一区在线观看| 成人精品视频一区二区三区 | 欧美精品一区二区三区很污很色的 | 精品国产sm最大网站| 亚洲国产高清aⅴ视频| 亚洲精品成a人| 蜜桃视频一区二区三区| 国产成人激情av| 91蜜桃免费观看视频| 欧美日韩国产一区二区三区地区| 精品国产一区二区三区不卡| 综合中文字幕亚洲| 亚洲成人自拍网| 丁香六月久久综合狠狠色| 欧美日韩一区精品| 国产欧美日韩不卡免费| 亚洲图片自拍偷拍| 国产伦精品一区二区三区免费迷| 91麻豆成人久久精品二区三区| 日韩限制级电影在线观看| 中文字幕在线不卡一区二区三区| 日韩成人精品在线观看| 99在线视频精品| 日韩欧美激情四射| 一区二区三国产精华液| 国产经典欧美精品| 在线电影一区二区三区| 综合久久给合久久狠狠狠97色| 免费成人在线播放| 色综合久久综合| 久久久久久久久久看片| 日韩国产在线观看一区| 99久久免费视频.com| 日韩一区二区在线观看| 中文字幕一区二区三区不卡 | 国产在线精品一区二区不卡了| 91福利国产成人精品照片| 2019国产精品| 日本v片在线高清不卡在线观看| 色综合咪咪久久| 久久久九九九九| 老司机免费视频一区二区| 欧洲色大大久久| 综合久久久久综合| 成人污视频在线观看| www激情久久| 日韩国产欧美视频| 日韩二区三区四区| 色拍拍在线精品视频8848| 国产欧美日韩另类视频免费观看 | 色av成人天堂桃色av| 国产欧美综合色| 国产jizzjizz一区二区| 亚洲精品在线三区| 麻豆成人久久精品二区三区红| 欧美日韩成人综合天天影院| 尤物视频一区二区| 97精品视频在线观看自产线路二 | 精品国产成人系列| 日韩在线卡一卡二| 欧美精品123区| 视频一区二区不卡| 制服丝袜在线91| 久热成人在线视频|