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

📄 main.js

📁 its a varypowrerfull javascript tool
💻 JS
📖 第 1 页 / 共 3 页
字号:
	item.appendChild(group);	var getRef = function(span) { /* to be called when drag succeeds */		return function(target,x,y) {			/* fuck off when dragged onto tablelist */			var coords = OAT.Dom.position(dialogs.tablelist.div);			var w = dialogs.tablelist.div.offsetWidth;			var h = dialogs.tablelist.div.offsetHeight;			if (x > coords[0] && x < coords[0]+w && y > coords[1] && y < coords[1] + h) return;						var coords = OAT.Dom.position("design_area");			var table_x = x - coords[0];			var table_y = y - coords[1];			Tables.add(span.innerHTML,span.schema,span.catalog,table_x,table_y,0);		}	}		var process = function(elm) {		elm.style.padding = "2px";		elm.style.backgroundColor = "#888";		elm.style.border = "1px dotted #000";		/* remove div tags */		var divs=[];		do {			divs = elm.getElementsByTagName("div");			if (divs.length > 0) { divs[0].parentNode.removeChild(divs[0]); }		} while (divs.length > 0);	}	for (var i=0;i<pole[0].length;i++) {		var opt = OAT.Dom.create("li");		var lbl = OAT.Dom.create("span");		opt.style.cursor = "pointer";		gd.addSource(opt,process,getRef(lbl)); 		lbl.catalog = catalog_name;		lbl.schema = pole[1][i];		lbl.innerHTML = pole[0][i];		Filter.addValue(lbl.schema);		opt.appendChild(lbl);		group.appendChild(opt);		var ref=function(event) {			var elm = OAT.Dom.source(event).parentNode.getElementsByTagName("span")[0];			/* no position -> autoplace */			Tables.add(elm.innerHTML,elm.schema,elm.catalog,0,0,1);		}		OAT.Dom.attach(opt,"dblclick",ref);	}		dialogs.tablelist.list.appendChild(item);		total_catalog_count--;		if (!total_catalog_count) { /* create tree after last catalog arrived */		OAT.Tree.assign(dialogs.tablelist.list,"../images","gif",1);		/* also fix grid in ie here */		grid_in.ieFix();	}}function query(q) {	/* send query */	tab.go(2);	lastQuery = q;	datasource.init();	datasource.setQuery(q);	var s = ($("options_dolimit").checked ? parseInt($v("options_limit")) : 0);	datasource.pageSize = s;	datasource.advanceRecord(0);}function qualifier(table) {	/* create a qualified name */	var t = table;	if (typeof(table) == "string") {		t = table.toUpperCase();		for (var i=0;i<table_array.length;i++) {			if (table_array[i].name.toUpperCase() == table.toUpperCase() ) { t = table_array[i]; }					}	} /* if string given */	var nq = (t.catalog == "" ? t.name : t.catalog + "." + t.schema + "." + t.name);	return OAT.SqlQueryData.qualifyMulti(nq);}var Filter = {	addValue:function(value) {		var hope = 1;		var opts = $("tablefilter_select").getElementsByTagName("option");		for (var i=0;i<opts.length;i++) {			if (opts[i].value == value) { hope = 0; }		}		if (!hope) { return; }		OAT.Dom.option(value,value,"tablefilter_select");	},		apply:function() {		var value = $v("tablefilter_select");		var catalogLis = $("tablelist").childNodes;		var catalogs = $("tablelist").getElementsByTagName("ul");		for (var i=0;i<catalogs.length;i++) {			var tables = catalogs[i].getElementsByTagName("li");			var visibleCount = 0;			for (var j=0;j<tables.length;j++) {				var li = tables[j];				var span = li.getElementsByTagName("span")[0];				if (value == "" || value == span.schema) {					/* show */					OAT.Dom.show(li);					visibleCount++;				} else {					/* hide */					OAT.Dom.hide(li);				}			} /* for all tables */			if (visibleCount) {				OAT.Dom.show(catalogLis[i]);			} else {				OAT.Dom.hide(catalogLis[i]);			}		} /* for all catalogs */	},		init:function() {		OAT.Dom.clear("tablefilter_select");		OAT.Dom.option("[no filter]","","tablefilter_select");	}}var Tables = {	add:function(name,schema,catalog,x,y,autoplace) {		var ref=function(pole) { /* column info has arrived... */			$("status_content").innerHTML = "Mark Primary keys using 'P' button. Drag 'R' buttons to create relations.";			var new_x = x;			var new_y = y;			if (autoplace) {				new_x = global_data.x;				new_y = global_data.y;				global_data.x += 190;				if (global_data.x > 700) {					global_data.x = 10;					global_data.y += 200;				}			}			var tmp = new SqlTable(name,pole,new_x,new_y); /* object */			tmp.catalog = catalog; /* inherit catalog name */			tmp.schema = schema; /* inherit schema name */			table_array.push(tmp); /* put into global array */			tmp.closeFunc = function() { Tables.remove(tmp);	}//			OAT.Dom.attach(tmp.obj.close,"click",tmp.closeFunc);			tmp.obj.onclose = tmp.closeFunc;			$("design_area").appendChild(tmp.obj.div);			ask_for_keys(tmp); /* get pk and fk info */			Columns.updateCombos(); /* actualize combos */		} /* callback */		OAT.Xmla.columns(catalog,schema,name,ref);	}, /* Tables.add() */		remove:function(object) {		/* remove columns */		var name = object.name;		var colsToRemove = [];		var values = Columns.getValues(0);		for (var i=0;i<values.length;i++) {			var colName = values[i].getElementsByTagName("input")[0].value;			if (colName.indexOf(name) != -1) { colsToRemove.push(i+1); }		}		for (var i=colsToRemove.length-1;i>=0;i--) {			grid_in.removeColumn(colsToRemove[i]); 		}		/* remove relations */		for (var i=0;i<object.rows.length;i++) {			for (var j=0;j<object.rows[i].relations.length;j++) {				if (object.rows[i].relations[j]) {					object.rows[i].relations[j].remove();				}			}		}		/* remove from dom tree */		OAT.Dom.unlink(object.obj.div);		/* from global array */		for (var i=0;i<table_array.length;i++) {			if (table_array[i] == object) { table_array.splice(i,1); }		}	},		clear:function() {		while (table_array.length) {			var obj = table_array[0];			obj.closeFunc();		}		global_data.x = 10;		global_data.y = 10;	} /* Tables.clear() */}var Columns = {	getValues:function(rowIndex) {		/* one row */		var result = [];		var row = grid_in.rows[rowIndex];		for (var i=1;i<row.cells.length;i++) { result.push(row.cells[i].value);	}		return result;	},		getKeyUpRef:function(type,elm,input) {		return function(event) {			if ($v(input) == "") { return; }			if (type == 1 && elm.last) {				var oldLast = Columns.getValues(global_data.conds_1_count + 3);				for (var i=0;i<oldLast.length;i++) { oldLast[i].last = false; }				/* insert new line to where conditions */				grid_in.createRow([".."],4+global_data.conds_1_count);				for (var i=1;i<grid_in.header.cells.length;i++) {					var div = grid_in.rows[4+global_data.conds_1_count].addCell({align:OAT.GridData.ALIGN_CENTER});					Columns.createConds([div],[],1);				}				global_data.conds_1_count++;			}			if (type == 2 && elm.last) {				var oldLast = Columns.getValues(global_data.conds_1_count + global_data.conds_2_count + 4);				for (var i=0;i<oldLast.length;i++) { oldLast[i].last = false; }				grid_in.createRow([".."],5+global_data.conds_1_count+global_data.conds_2_count);				for (var i=1;i<grid_in.header.cells.length;i++) {					var div = grid_in.rows[5+global_data.conds_1_count+global_data.conds_2_count].addCell({align:OAT.GridData.ALIGN_CENTER});					Columns.createConds([div],[],2);				}				global_data.conds_2_count++;			}		}	},		createConds:function(div_array,conds_array,type) {		var logic, operator, value;		/* conds_array[i] == {logic:"",operator:"",value:""} */		/* div_array is (should be :) larger than conds_array (by 1)! */		for (var i=0;i<div_array.length;i++) {			if (conds_array.length > i) {				logic = conds_array[i].logic;				operator = conds_array[i].operator;				value = conds_array[i].value;			} else {				logic = "AND";				operator = "=";				value = "";			}					var select_logic = OAT.Dom.create("select",{font:"menu"});			OAT.Dom.option("AND","AND",select_logic);			OAT.Dom.option("OR","OR",select_logic);			select_logic.selectedIndex = (logic == "AND" ? 0 : 1);			div_array[i].appendChild(select_logic);						var select_operator = OAT.Dom.create("select",{font:"menu"});			OAT.Dom.option("=","=",select_operator);			OAT.Dom.option("&lt;&gt;","&lt;&gt;",select_operator);			OAT.Dom.option("&gt;","&gt;",select_operator);			OAT.Dom.option("&gt;=","&gt;=",select_operator);			OAT.Dom.option("&lt;","&lt;",select_operator);			OAT.Dom.option("&lt;=","&lt;=",select_operator);			OAT.Dom.option("LIKE","LIKE",select_operator);			OAT.Dom.option("NOT LIKE","NOT LIKE",select_operator);			var opts = select_operator.getElementsByTagName("option");			for (var j=0;j<opts.length;j++) if (opts[j].value == operator) { select_operator.selectedIndex = j; }			div_array[i].appendChild(select_operator);									div_array[i].last = (i == div_array.length-1 ? true : false);						var input_value = OAT.Dom.create("input",{font:"menu",border:"none",textAlign:"center",display:"block"});			var keyUpRef = Columns.getKeyUpRef(type,div_array[i],input_value);			OAT.Dom.attach(input_value,"keyup",keyUpRef);			input_value.setAttribute("type","text");			input_value.setAttribute("size","20");			input_value.value = value;			div_array[i].appendChild(input_value);		}	},		allColsList:function() {		var result = [];		for (var i=0;i<table_array.length;i++) {			var table = table_array[i];			for (var j=0;j<table.rows.length;j++) if (table.rows[j].name != "*") {				result.push(OAT.SqlQueryData.qualifyMulti(table.name+"."+table.rows[j].name));			}		}		return result;	},		blank:function() {		Columns.add("","",1,0,[],0,[],grid_in.header.cells.length);		Columns.updateCombos();	},		updateCombos:function() {		var allCols = Columns.allColsList();		var combos = Columns.getValues(0);		for (var i=0;i<combos.length;i++) {			var c = combos[i].c;			c.clearOpts();			for (var j=0;j<allCols.length;j++) { c.addOption(allCols[j]); }		}			},		add:function(name,alias,show,order,conds_1,group,conds_2, newIndex) {		var ni = (newIndex ? newIndex : grid_in.header.cells.length-1);		/* add a new column to columns grid */		var num_cols = grid_in.header.cells.length;		var numSpan = OAT.Dom.create("span");		var cell = grid_in.appendHeader({sortable:0,value:"Column #",align:OAT.GridData.ALIGN_CENTER},ni);		cell.value.appendChild(numSpan);		cell.numSpan = numSpan;				/* actualize numbering */		for (var i=1;i<grid_in.header.cells.length;i++) {			grid_in.header.cells[i].numSpan.innerHTML = i+" ";		}				/* dynamic adding of blank column */		var div_name = grid_in.rows[0].addCell({align:OAT.GridData.ALIGN_CENTER},ni);		var n = name;		var combo_name = new OAT.Combolist([],n);		div_name.c = combo_name;		div_name.appendChild(combo_name.div);		var addRef = function() {			var colNames = Columns.getValues(0);			if (colNames[colNames.length-1] != div_name) { return; }			Columns.blank();		}		combo_name.onchange = addRef;				/* remove link */		var a_remove = OAT.Dom.create("a");		a_remove.setAttribute("href","#");		a_remove.innerHTML = "remove";		var removeRef = function(event) { 			var elm = OAT.Dom.source(event);			var str = elm.parentNode.innerHTML;			var index = -1;			for (var i=0;i<grid_in.header.cells.length;i++) {				if (grid_in.header.cells[i].value.innerHTML == str) { index = i; }			}			grid_in.removeColumn(index); 		}		OAT.Dom.attach(a_remove,"click",removeRef);		cell.value.appendChild(a_remove);

⌨️ 快捷键说明

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