⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 io.js

📁 its a varypowrerfull javascript tool
💻 JS
字号:
/* *  $Id: io.js,v 1.1 2006/08/07 10:41:25 source Exp $ * *  This file is part of the OpenLink Software Ajax Toolkit (OAT) project. * *  Copyright (C) 2006 Ondrej Zara and OpenLink Software * *  See LICENSE file for details. */var IO = {	lastQName:"",	lastPName:"",	save:function(xml,name) {		var send_ref = function() { return xml; }		var recv_ref = function(data) { alert('Saved.'); }		OAT.Ajax.command(OAT.Ajax.PUT + OAT.Ajax.AUTH_BASIC,name,send_ref,recv_ref,OAT.Ajax.TYPE_TEXT,{});	},	save_p:function(pivot,showDialog) {		if (!pivot) { return; }		var xslStr = '<?xml-stylesheet type="text/xsl" href="'+$v("options_xslt")+'/pivotview.xsl"?>';		var xml = pivot.toXML(xslStr,$("options_uid").checked,$("options_uid").checked,$v("q"));				if (IO.lastPName && !showDialog) { /* if file name is known, then just save */			IO.save(xml,IO.lastPName);			return;		}	    if ($("options_type_http").checked) {			var name = OAT.Dav_old.getNewFile("/DAV/home/"+OAT.Ajax.user,".xml","xml");			if (!name) { return; }			lastPName = name;			if (name.slice(name.length-4).toLowerCase() != ".xml") { name += ".xml"; }			IO.save(xml,name);		}		if ($("options_type_dav").checked) {			var options = {				mode:'save_dialog',				user:OAT.Xmla.user,				pass:OAT.Xmla.password,				pathDefault:"/DAV/home/"+OAT.Xmla.user+"/",			  file_ext:'xml',				onSaveClick:function() { return xml;}			};			OAT.WebDav.open(options);		}	},	save_q:function() {		if (IO.lastQName == "") {			dialogs.save.show();			return;		}		var query = "";		var type = "";		var xsl = "";		var t = IO.save_type;				var glued = Query.glue(OAT.SqlQueryData.TYPE_SQL);		var q = $v("q");		if (q != glued) { t = "manual"; } /* custom query -> statement */				switch (t) {			case "xml_raw":				type = "query";				xsl = $v("options_xslt")+"/grid.xsl";				query = Query.glue(OAT.SqlQueryData.TYPE_FORXML_RAW);			break;			case "xml_auto":				type = "query";				xsl = $v("options_xslt")+"/tree.xsl";				query = Query.glue(OAT.SqlQueryData.TYPE_FORXML_AUTO);			break;			case "sqlx_a":				type = "sqlx";				xsl = $v("options_xslt")+"/grid.xsl";				query = Query.glue(OAT.SqlQueryData.TYPE_SQLX_ATTRIBUTES);			break;			case "sqlx_e":				type = "sqlx";				xsl = $v("options_xslt")+"/tree.xsl";				query = Query.glue(OAT.SqlQueryData.TYPE_SQLX_ELEMENTS);			break;			case "xml":				type = "sql";				query = Query.glue(OAT.SqlQueryData.TYPE_SQL);				xsl = $v("options_xslt")+"/query.xsl";			break;			case "manual":				type = "sql";				query = q;				xsl = $v("options_xslt")+"/query.xsl";			break;		}		if (!$("options_doxslt").checked) { xsl = ""; }		query = OAT.Dom.toSafeXML(query);		var xml = '<?xml version="1.0" encoding="UTF-8"?>\n';		if (t == "xml" || t == "manual") {			xml += '\n<?xml-stylesheet type="text/xsl" href="'+$v("options_xslt")+'/query.xsl"?>';			xml += '\n<root>';			xml += '<connection dsn="'+OAT.Xmla.dsn+'" endpoint="'+OAT.Xmla.endpoint+'" ';			if ($("options_uid").checked) { xml += 'user="'+OAT.Crypto.base64e(OAT.Xmla.user)+'" password="'+OAT.Crypto.base64e(OAT.Xmla.password)+'"'; }			xml += ' nocred="'+($("options_nocred").checked ? 1 : 0)+'"></connection>\n';			xml += '\n<query ';			if (t == "manual") { xml += 'manual="1"'}			xml += '>'+query+'</query>';			xml += '\n</root>';		} else {			xml += '<root xmlns:sql="urn:schemas-openlink-com:xml-sql"';			if (xsl != "") { xml += ' sql:xsl="'+xsl+'" ';}			xml += '><sql:'+type+'>'+query+'</sql:'+type+'></root>';		}		IO.save(xml,IO.lastQName);	},	load_q:function() {		if ($("options_type_http").checked) {			var name = OAT.Dav_old.getFile("/DAV/home/"+OAT.Ajax.user,".xml");			if (!name) { return; }			IO.lastQName = name;			IO.save_type = "xml";			OAT.Ajax.command(OAT.Ajax.GET + OAT.Ajax.AUTH_BASIC,name,function(){return '';},IO.loadProcess,OAT.Ajax.TYPE_TEXT);		}		if ($("options_type_dav").checked) {			var options = {				mode:'open_dialog',				user:OAT.Xmla.user,				pass:OAT.Xmla.password,				pathDefault:"/DAV/home/"+OAT.Xmla.user+"/",				onOpenClick:function(path,fname,data){					IO.lastQName = path+fname;					IO.save_type = "xml";					IO.loadProcess(data);					return true; /* return false will keep browser open */				}			};			OAT.WebDav.open(options);		}	},	load_p:function() {		if ($("options_type_http").checked) {			var name = OAT.Dav_old.getFile("/DAV/home/"+OAT.Ajax.user,".xml");			if (!name) { return; }			IO.lastPName = name;			OAT.Ajax.command(OAT.Ajax.GET + OAT.Ajax.AUTH_BASIC,name,function(){return '';},pivot_design_load,OAT.Ajax.TYPE_TEXT);		}		if ($("options_type_dav").checked) {			var options = {				mode:'open_dialog',				user:OAT.Xmla.user,				pass:OAT.Xmla.password,				pathDefault:"/DAV/home/"+OAT.Xmla.user+"/",				onOpenClick:function(path,fname,data) {					IO.lastPName = path+fname;					pivot_design_load(data);					return true; /* return false will keep browser open */				}			};			OAT.WebDav.open(options);		}	},	blankColumn:function() {		var o = {};		o.column = "";		o.alias = "";		o.show = 0;		o.conditions = [];		o.havings = [];		o.order = 0;		o.group = 0;		return o;	},	loadProcess:function(data) {		/* clear */		Columns.init(1,1);		Tables.clear(); /* tables */		/* fix for manual queries: */		var r;		var repl = data.replace(/[\r\n]/g," ");		if ((r = repl.match(/<query +manual="1" *>(.*)<\/query>/))) {			$("q").value = OAT.Dom.fromSafeXML(r[1]);			tab.go(1);			return;		}		/* standard sql */		Query.obj = new OAT.SqlQuery();		Query.obj.fromString(data);		/* prepare columns */		var num_1 = 1;		var num_2 = 1;		var all_columns = [];		for (var i=0;i<Query.obj.columns.count;i++) {			var o = IO.blankColumn();			o.column = Query.obj.columns.items[i].column;			o.alias = Query.obj.columns.items[i].alias;			o.show = 1;			o.conditions = [];			o.havings = [];			o.order = 0;			o.group = 0;			all_columns.push(o);		}		/* where conditions */		for (var i=0;i<Query.obj.conditions.count;i++) {			var c = Query.obj.conditions.items[i];			/* find column */			var index = -1;			for (var j=0;j<all_columns.length;j++) {				if (all_columns[j].column == c.column) { index = j; }			}			if (index == -1) {				var o = IO.blankColumn();				o.column = c.column;				o.conditions.push({logic:c.logic,operator:c.operator,value:c.value});				all_columns.push(o);			} else {				all_columns[index].conditions.push({logic:c.logic,operator:c.operator,value:c.value});			}		}		/* having conditions */		for (var i=0;i<Query.obj.havings.count;i++) {			var c = Query.obj.havings.items[i];			/* find column */			var index = -1;			for (var j=0;j<all_columns.length;j++) {				if (all_columns[j].column == c.column) { index = j; }			}			if (index == -1) {				var o = IO.blankColumn();				o.column = c.column;				o.havings.push({logic:c.logic,operator:c.operator,value:c.value});				all_columns.push(o);			} else {				all_columns[index].havings.push({logic:c.logic,operator:c.operator,value:c.value});			}		}		/* order by */		for (var i=0;i<Query.obj.orders.count;i++) {			var c = Query.obj.orders.items[i];			var t = (c.type == "ASC" ? 1 : 2);			/* find column */			var index = -1;			for (var j=0;j<all_columns.length;j++) {				if (all_columns[j].column == c.column) { index = j; }			}			if (index == -1) {				var o = IO.blankColumn();				o.column = c.column;				o.order = t;				all_columns.push(o);			} else {				all_columns[index].order = t;			}		}		/* group by */		for (var i=0;i<Query.obj.groups.count;i++) {			var c = Query.obj.groups.items[i];			/* find column */			var index = -1;			for (var j=0;j<all_columns.length;j++) {				if (all_columns[j].column == c.column) { index = j; }			}			if (index == -1) {				var o = IO.blankColumn();				o.column = c.column;				o.order = 1;				all_columns.push(o);			} else {				all_columns[index].order = 1;			}		}		/* max conditions in one column */		for (var i=0;i<Query.obj.columns.count;i++) {			if (all_columns[i].conditions.length >= num_1) { num_1 = all_columns[i].conditions.length+1; }			if (all_columns[i].havings.length >= num_2) { num_2 = all_columns[i].havings.length+1; }		}		Columns.init(num_1,num_2);		tab.go(0);		for (var i=0;i<Query.obj.tables.length;i++) { /* tables */			var table = Query.obj.tables[i].split(".");			if (table.length == 1) { table = ["","",table[0]]; } /* catalogless */			Tables.add(table[2],table[1],table[0],0,0,1);		}		for (var i=0;i<all_columns.length;i++) { /* columns */			var c = all_columns[i];			Columns.add(c.column,c.alias,c.show,c.order,c.conditions,c.group,c.havings);			/* name,alias,show,order,conds_1,group,conds_2 */		}		var callback = function() {			if (OAT.Ajax.number) { setTimeout(callback, 100); } else { Query.create(OAT.SqlQueryData.TYPE_SQL); }		}		setTimeout(callback,100);	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -