亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
亚洲一区二区三区影院| 亚洲视频综合在线| 在线91免费看| 欧美日韩免费观看一区三区| 欧美吞精做爰啪啪高潮| 欧美午夜片在线看| 91麻豆精品国产91久久久久久久久 | 久久综合久久鬼色| 精品少妇一区二区三区在线播放| 日韩三级高清在线| 久久综合九色综合欧美就去吻 | 亚洲一区二区三区四区五区黄| 一区二区三区四区视频精品免费| 亚洲夂夂婷婷色拍ww47| 日韩国产高清在线| 精品一区二区久久久| 国产美女娇喘av呻吟久久| 国产东北露脸精品视频| 99riav一区二区三区| 欧美日韩一区二区在线观看视频| 欧美欧美欧美欧美| 久久午夜免费电影| 亚洲免费在线观看视频| 日韩成人午夜电影| 懂色av一区二区在线播放| 色88888久久久久久影院按摩| 欧美日韩高清不卡| 久久九九久久九九| 亚洲成人1区2区| 国内不卡的二区三区中文字幕 | 日本一区二区三区四区| 亚洲国产日韩一级| 国产一区二区三区日韩 | 亚洲一区二区三区爽爽爽爽爽| 奇米色一区二区| 91色婷婷久久久久合中文| 日韩欧美一区二区久久婷婷| 国产精品麻豆欧美日韩ww| 午夜精品免费在线| 国产91高潮流白浆在线麻豆| 91精品中文字幕一区二区三区 | av午夜一区麻豆| 日韩色视频在线观看| 亚洲精品视频免费观看| 国产一区二区三区高清播放| 欧美日韩久久久久久| 欧美国产国产综合| 黄色小说综合网站| 5858s免费视频成人| 亚洲免费在线观看| 成人污视频在线观看| 精品国产一二三| 蜜臀va亚洲va欧美va天堂 | 精品写真视频在线观看| 欧洲视频一区二区| 国产精品大尺度| 国产精品99久久不卡二区| 91精品国产综合久久精品| 一级中文字幕一区二区| 97se亚洲国产综合自在线不卡| 亚洲精品在线观| 久久精品噜噜噜成人av农村| 欧美三级日韩三级国产三级| 亚洲精品精品亚洲| 成人午夜视频免费看| 久久精品亚洲精品国产欧美kt∨| 寂寞少妇一区二区三区| 欧美xxx久久| 麻豆成人免费电影| 日韩美女一区二区三区四区| 蜜臀久久99精品久久久画质超高清 | 欧美va日韩va| 九色综合狠狠综合久久| 91精品国产手机| 美女一区二区视频| 精品日韩一区二区| 国产综合久久久久影院| 国产日韩成人精品| 国产**成人网毛片九色 | 五月婷婷色综合| 91麻豆精品国产综合久久久久久| 人人精品人人爱| 日韩一区二区不卡| 国产精品99久久久久久久女警| 国产视频视频一区| 99久久婷婷国产综合精品电影| 亚洲人成精品久久久久| 欧美色爱综合网| 美脚の诱脚舐め脚责91| 久久久国产精品午夜一区ai换脸| 丰满白嫩尤物一区二区| 亚洲婷婷综合久久一本伊一区| 日本韩国一区二区三区视频| 偷拍与自拍一区| 久久综合久色欧美综合狠狠| 成人性生交大片免费看视频在线| 1区2区3区国产精品| 欧美日韩在线亚洲一区蜜芽| 麻豆成人91精品二区三区| 精品美女一区二区| 99久久免费精品| 日韩成人一区二区三区在线观看| 精品久久久久久久久久久久久久久 | 欧美电影免费提供在线观看| 成人高清av在线| 亚洲第一久久影院| 久久免费电影网| 欧美在线综合视频| 九九九精品视频| 亚洲三级小视频| 精品理论电影在线| 欧美亚州韩日在线看免费版国语版 | 亚洲最大的成人av| 久久久不卡网国产精品二区| 欧美特级限制片免费在线观看| 韩国三级中文字幕hd久久精品| 亚洲裸体xxx| 国产亚洲欧美日韩俺去了| 欧美午夜精品免费| 成人激情免费电影网址| 美女一区二区三区| 亚洲一区二区av电影| 国产精品理伦片| 久久久蜜臀国产一区二区| 欧美日韩一区二区三区免费看 | 狠狠色丁香久久婷婷综合_中| 国产精品不卡一区| 中文字幕中文乱码欧美一区二区| 在线不卡免费欧美| 99综合电影在线视频| 久久精品理论片| 亚洲成在人线免费| 亚洲欧美激情视频在线观看一区二区三区| 欧美电影影音先锋| 欧洲中文字幕精品| 91在线码无精品| 波多野结衣亚洲| 懂色av噜噜一区二区三区av | 欧美日韩中字一区| 91久久香蕉国产日韩欧美9色| 国产成人综合在线| 国产精品一区二区果冻传媒| 狠狠色狠狠色综合日日91app| 日韩在线卡一卡二| 首页国产欧美久久| 婷婷亚洲久悠悠色悠在线播放| 亚洲欧美日韩系列| 亚洲视频图片小说| 国产精品国产三级国产aⅴ入口| 国产精品无人区| 国产精品传媒入口麻豆| 综合av第一页| 亚洲欧美视频在线观看视频| 亚洲激情男女视频| 亚洲国产wwwccc36天堂| 亚洲成a人片在线观看中文| 亚洲成a人片在线不卡一二三区 | 成人激情动漫在线观看| 波多野结衣91| 一本到不卡免费一区二区| 欧洲亚洲国产日韩| 91精品啪在线观看国产60岁| 欧美一区日本一区韩国一区| 日韩一区二区在线看片| 精品久久久久一区| 中文字幕成人av| 亚洲精品国久久99热| 日韩精品亚洲专区| 国产精品一区二区三区网站| 成人蜜臀av电影| 欧美日韩精品免费| 亚洲精品一区二区三区99| 亚洲欧洲一区二区三区| 一片黄亚洲嫩模| 激情综合色综合久久综合| 成人一级片网址| 欧美久久久影院| 精品国产乱码久久久久久浪潮| 国产精品视频免费| 五月婷婷综合在线| 成人性生交大片免费看中文 | 亚洲成人福利片| 国产一区二区三区久久悠悠色av| 波多野结衣精品在线| 欧美男同性恋视频网站| 欧美激情在线观看视频免费| 亚洲午夜三级在线| 国产成都精品91一区二区三| 在线观看亚洲a| 国产亚洲欧美在线| 偷拍亚洲欧洲综合| 不卡av在线免费观看| 欧美一区二区视频网站| 日韩久久一区二区| 国产一区二区三区免费看| 欧美色图免费看| 亚洲欧美综合在线精品| 激情伊人五月天久久综合| 在线免费观看日本欧美| 国产日韩欧美亚洲|