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

📄 xmla_comm.js

📁 its a varypowrerfull javascript tool
💻 JS
字号:
/* *  $Id: xmla_comm.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. */function xmla_init() {	dialogs.xmla = new OAT.Dialog("Table import","xmla",{width:700,modal:1});	dialogs.xmla.ok = xmla_tables;	dialogs.xmla.cancel = dialogs.xmla.hide;	OAT.Dom.attach("xmla_usecatalog","click",xmla_catalogs);	var resize = OAT.Dom.create("div",{width:"10px",height:"10px",position:"absolute",right:"-5px",bottom:"-5px",cursor:"nw-resize"});	OAT.Resize.create(resize,"xmla_table_container",OAT.Resize.TYPE_X);	$("xmla_table_container").appendChild(resize);	var state = 1;	var toggleRef = function() {		var d = $("xmla_detailsbtn");		if (state) {			state = 0;			d.innerHTML = "show";			OAT.Dom.hide("xmla_details");		} else {			state = 1;			d.innerHTML = "hide";			OAT.Dom.show("xmla_details");		}	}	OAT.Dom.attach("xmla_detailsbtn","click",toggleRef);	toggleRef();}function xmla_try_relation(pk,fk) {	/* 		there is a relation between {pk} and {fk}		can we mark that in our design?	*/	var t1=false;	var t2=false;	for (var i=0;i<table_array.length;i++) {		var table = table_array[i];		if (pk.catalog == table.catalog && pk.schema == table.schema && pk.table == table.name) {			t1 = table_array[i];		} /* if table == q1 */		if (fk.catalog == table.catalog && fk.schema == table.schema && fk.table == table.name) {			t2 = table_array[i];		} /* if table == q2 */	} /* for all tables */	if (t1 && t2) {		for (var i=0;i<t1.rows.length;i++) {			if (t1.rows[i]._title.innerHTML == pk.column) {				var r1 = t1.rows[i];			}		}		for (var i=0;i<t2.rows.length;i++) {			if (t2.rows[i]._title.innerHTML == fk.column) {				var r2 = t2.rows[i];			}		}		var hope = 1;		for (var i=0;i<relation_array.length;i++) {			var rel = relation_array[i];			if (rel.row_1 == r1 && rel.row_2 == r2) { hope = 0; }		}		if (hope) {			add_relation(r1,"1",r2,"&infin;");			r2.setFK();		}	}}function qualifier(table) {	/* create a qualified name */	var nq = (table.catalog == "" ? table.name : table.catalog + "." + table.schema + "." + table.name);	return OAT.SqlQueryData.qualifyMulti(nq);}function xmla_ask_for_keys(table) {	/* get pk and fk info about a table */	var callback_fk = function(pole) {		for (var i=0;i<pole.length;i++) {			xmla_try_relation(pole[i][0],pole[i][1]);		}	} /* recieved fk response */		var callback_pk = function(pole) {		if (pole.length) for (var i=0;i<pole.length;i++) {			for (var j=0;j<table.rows.length;j++) {				if (table.rows[j] && table.rows[j]._title.innerHTML == pole[i]) {					table.rows[j].setPK();				} /* correct row! */			} /* for all rows */		} /* if has pk */	} /* callback */		OAT.Xmla.primaryKeys(table.catalog,table.schema,table.name,callback_pk);	OAT.Xmla.foreignKeys(table.catalog,table.schema,table.name,callback_fk);}function xmla_one_table(table_name,schema_name,catalog_name) {	/* read one table via xml/a */	var table = false;	for (var i=0;i<table_array.length;i++)  {		if (table_array[i]._title.innerHTML == table_name) { table = table_array[i]; }	}	if (table) {		while (table.rows.length) { table.removeRow(table.rows[0]); }	} else {		var table = add_table(20,120,table_name);		table.name = table_name;		table.schema = schema_name;		table.catalog = catalog_name;	}	var ref = function(pole) {		/* list of columns */		if (!pole.length) return;		for (var i=0;i<pole.length;i++) {			var name = pole[i]["name"];			var type = pole[i]["type"];			var nn = pole[i]["nn"];			var def = pole[i]["def"];			var spec = pole[i]["spec"];			var row = table.addRow(name,parseInt(type));			if (nn == "0" || nn=="-1") row.setNN();			row.setSpec(spec);			row.setDef(def);		} /* for all columns */		if ($("xmla_reposition").checked) { reposition_tables(); }		xmla_ask_for_keys(table);	} /* callback */	OAT.Xmla.columns(table.catalog,table.schema,table.name,ref);}function xmla_tables() {	/* add all tables to design */	dialogs.xmla.hide();	var tables = [];	var opts = $("xmla_table").getElementsByTagName("option");	for (var i=0;i<opts.length;i++) { /* get all marked catalogs */		if (opts[i].selected) {			var opt = opts[i];			tables.push([opt.value,opt.schema,opt.catalog]);		}	}	for (var i=0;i<tables.length;i++) {		t = tables[i];		xmla_one_table(t[0],t[1],t[2]);	} /* for all selected tables */}function xmla_catalogs() {	/* add all tables from selected catalogs into table <select> */	xmla_settings();	var catalogs = [];	var opts = $("xmla_catalog").getElementsByTagName("option");	for (var i=0;i<opts.length;i++) { /* get all marked catalogs */		if (opts[i].selected) catalogs.push(opts[i].value);	}	var ref = function(catalog,pole) {		/* list of tables */		if (!pole[0].length) return;		var select = $("xmla_table");		for (var i=0;i<pole[0].length;i++) {			var name = pole[0][i];			var schema = pole[1][i];			var e = OAT.Dom.create("option");			e.innerHTML= (catalog == "" ? name : catalog+"."+schema+"."+name);			e.value=name;			e.catalog=catalog;			e.schema=schema;			select.appendChild(e);		} /* for all recieved tables */	} /* callback */	OAT.Dom.clear("xmla_table");	for (var i=0;i<catalogs.length;i++) { OAT.Xmla.tables(catalogs[i],ref); }}		function xmla_dbschema() {	dialogs.connection.hide();	xmla_settings();	var ref = function(pole) {		/* list of catalogs */		var select = $("xmla_catalog");		OAT.Dom.clear(select);		for (var i=0;i<pole.length;i++) { OAT.Dom.option(pole[i],pole[i],select); }		if (!pole.length) { OAT.Dom.option("[no catalog]","",select); }	}	OAT.Xmla.dbschema(ref);	var qRef = function(q) {		OAT.SqlQueryData.columnQualifierPre = q[0];		OAT.SqlQueryData.columnQualifierPost = q[1];		$("xmla_q1").innerHTML = q[0];		$("xmla_q2").innerHTML = q[1];	}	OAT.Xmla.qualifiers(qRef);	var typeRef = function(types) {		create_data_types(types);	}	OAT.Xmla.providerTypes(typeRef);}function xmla_discover() {	xmla_settings();	var ref = function(pole) {		/* list of datasources */		if (pole.length) { dialogs.connection.okBtn.removeAttribute("disabled"); }		var select = $("xmla_dsn");		OAT.Dom.clear(select);		for (var i=0;i<pole.length;i++) { OAT.Dom.option(pole[i],pole[i],select); }	}	OAT.Xmla.discover(ref);}function xmla_settings() {	OAT.Xmla.endpoint = $v("xmla_endpoint");	OAT.Xmla.dsn = $v("xmla_dsn");	OAT.Xmla.user = $v("user");	OAT.Xmla.password = $v("password");	OAT.Ajax.user = OAT.Xmla.user;	OAT.Ajax.password = OAT.Xmla.password;	var h = $('options_type_http');	var d = $('options_type_dav');	h.checked = ($v('login_put_type') == "http");	d.checked = ($v('login_put_type') == "dav");	h.__checked = (h.checked ? "1" : "0");	d.__checked = (d.checked ? "1" : "0");}	

⌨️ 快捷键说明

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