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

📄 formtoolbox.js

📁 its a varypowrerfull javascript tool
💻 JS
📖 第 1 页 / 共 2 页
字号:
					input2.value = "...";					input.appendChild(input1);					input.appendChild(txt);					input.appendChild(input2);										var browseRef = self.browseRef(input1,p,p.dialog);					OAT.Dom.attach(input2,"click",browseRef);					self.addTable(text,input);				break;			} /* property type switch */		} /* for all properties */		/* datasources */		if (o.datasources.length) {			var t = OAT.Dom.text("Datasources");			self.addTable(t);		}		for (var i=0;i<o.datasources.length;i++) {			var ds = o.datasources[i];			var t = OAT.Dom.text(ds.name);			var colList = o.form.outputFields;			if (ds.variable) {				/* variable count datasource */				var cnt_select = OAT.Dom.create("select");				for (var j=0;j<11;j++) {					OAT.Dom.option(j,j,cnt_select);					if (j == ds.names.length) { cnt_select.selectedIndex = j; }				}				self.addTable(t,cnt_select);				/* count change reference */				var dsCountRef = self.dsCountRef(cnt_select,ds,o);				OAT.Dom.attach(cnt_select,"change",dsCountRef);								/* actual values */				for (var j=0;j<ds.names.length;j++) {					var text = OAT.Dom.text("#"+(j+1)+" name");					var name = OAT.Dom.create("input");					name.setAttribute("type","text");					name.setAttribute("size","16");					name.value = ds.names[j];					OAT.Bindings.bindString(name,ds.names,j);					self.addTable(text,name);										var text = OAT.Dom.text("#"+(j+1)+" value");					var select = OAT.Dom.create("select");					OAT.Dom.option("","-1",select);					for (var k=0;k<colList.length;k++) { 						OAT.Dom.option(colList[k],k,select);						if (k == ds.columnIndexes[j]) { select.selectedIndex = k+1; }					}					OAT.Bindings.bindSelect(select,ds.columnIndexes,j);					self.addTable(text,select);				}			} else {				/* static datasource */				var select = OAT.Dom.create("select");				OAT.Dom.option("","-1",select);				for (var j=0;j<colList.length;j++) { 					OAT.Dom.option(colList[j],j,select);					if (j == ds.columnIndexes[0]) { select.selectedIndex = j+1; }				}				OAT.Bindings.bindSelect(select,ds.columnIndexes,0);				self.addTable(t,select);			}		}				/* css */		if (o.css.length) {			var t = OAT.Dom.text("Appearance");			self.addTable(t);		}		for (var i=0;i<o.css.length;i++) {			var css = o.css[i];			var text = OAT.Dom.text(css.name);			var value = OAT.Dom.style(o.elm,css.property);			switch (css.type) {				case "string":					var input = OAT.Dom.create("input");					input.setAttribute("size","5");					input.value = value;					OAT.Bindings.bindString(input,o.elm.style,css.property);					self.addTable(text,input);				break;								case "combo":					var input = new OAT.Combolist(css.options,value);					input.input.setAttribute("size","6");					OAT.Bindings.bindCombo(input,o.elm.style,css.property);					self.addTable(text,input.div);				break;								case "select":					var input = OAT.Dom.create("select");					for (var i=0;i<css.options.length;i++) {						OAT.Dom.option(css.options[i],css.options[i],input);						if (css.options[i] == css.value) { input.selectedIndex = i; }					}					OAT.Bindings.bindSelect(input,o.elm.style,css.property);					self.addTable(text,input);				break;				case "color":					var input = OAT.Dom.create("div",{cssFloat:"right",styleFloat:"right",width:"16px",height:"8px",margin:"3px",backgroundColor:value,border:"1px solid #000",cursor:"pointer",overflow:"hidden"});					OAT.Bindings.bindColor(input,o.elm.style,css.property);					self.addTable(text,input);				break;			}		}				/* delete */		var del = OAT.Dom.create("a",{marginTop:"3px"});		del.setAttribute("href","#");		del.innerHTML = "remove";		var delRef = function(event) {			o.deselect();			OAT.Dom.unlink(o.elm);			var index = -1;			for (var i=0;i<obj.objects.length;i++) if (obj.objects[i] == o) { index = i; }			obj.objects.splice(index,1);			self.showForm(o.form); /* show form */		}		OAT.Dom.attach(del,"click",delRef);		self.addTable(del);	}		this.showMulti = function() {		self.clear();		self.name.innerHTML = "[multiple]";		self.createTable();				var alignTop = OAT.Dom.create("a",{display:"block"});		alignTop.setAttribute("href","#");	alignTop.innerHTML = "align to top";		self.addTable(alignTop);		OAT.Dom.attach(alignTop,"click",function(){obj.alignSelected("top");});		var alignBottom = OAT.Dom.create("a",{display:"block"});		alignBottom.setAttribute("href","#"); alignBottom.innerHTML = "align to bottom";		self.addTable(alignBottom);		OAT.Dom.attach(alignBottom,"click",function(){obj.alignSelected("bottom");});		var alignLeft = OAT.Dom.create("a",{display:"block"});		alignLeft.setAttribute("href","#");	alignLeft.innerHTML = "align to left";		self.addTable(alignLeft);		OAT.Dom.attach(alignLeft,"click",function(){obj.alignSelected("left");});		var alignRight = OAT.Dom.create("a",{display:"block"});		alignRight.setAttribute("href","#");	alignRight.innerHTML = "align to right";		self.addTable(alignRight);		OAT.Dom.attach(alignRight,"click",function(){obj.alignSelected("right");});		var del = OAT.Dom.create("a",{marginTop:"3px"});		del.setAttribute("href","#");		del.innerHTML = "remove";		var delRef = function(event) {			for (var i=0;i<obj.selObjs.length;i++) {				var o = obj.selObjs[i];				o.deselect();				OAT.Dom.unlink(o.elm);				var index = -1;				for (var j=0;j<obj.objects.length;j++) if (obj.objects[j] == o) { index = j; }				obj.objects.splice(index,1);			}			self.showForm(o.form); /* show form */		}		OAT.Dom.attach(del,"click",delRef);		self.addTable(del);	}		/************************************************************/		this.fieldCountRef = function(cnt_select,form) {		return function() {			var fb = form.fieldBinding;			var oldLen = fb.selfFields.length;			var newLen = parseInt(cnt_select.value);			fb.selfFields.length = newLen; 			fb.masterForms.length = newLen; 			fb.masterFields.length = newLen; 			for (var j=0;j<newLen;j++) {				if (j >= oldLen) { 					fb.selfFields[j] = 0;					fb.masterForms[j] = false;					fb.masterFields[j] = "";				}			}			self.showForm(form); 		}	}		this.dsCountRef = function(cnt_select,ds,o) { 		return function() {			var oldLen = ds.names.length;			ds.names.length = parseInt(cnt_select.value); 			ds.columnIndexes.length = parseInt(cnt_select.value); 			for (var j=0;j<ds.names.length;j++) {				if (j >= oldLen) { 					ds.names[j] = "";					ds.columnIndexes[j] = -1;				}			}			self.showObject(o); 		}	}		this.browseRef = function(elm,property,mode) {		return function() {			var callback = function(name) {				var f = name.split("/").pop();				elm.innerHTML = f+" ";				property.value = name;				if (property.onselect) { property.onselect(); }			}			self.selectFile(callback,mode);		}	}		this.createFieldPair = function(form,index) {		/* first part - list of own input fields */		var fb = form.fieldBinding;		var s = OAT.Dom.create("select");		for (var i=0;i<form.inputFields.length;i++) {			OAT.Dom.option(form.inputFields[i],i,s);			if (fb.selfFields[index] == i) { s.selectedIndex = i; }		}		OAT.Dom.attach(s,"change",function(){fb.selfFields[index] = parseInt($v(s));});				/* second part - list of available other fields, direct input or parametrized values */		var div = OAT.Dom.create("div");				/* 1.direct value */		var d1 = OAT.Dom.create("div");		var r1 = OAT.Dom.create("input");		r1.type = "radio";		r1.name = "radio_"+index;		var inp = OAT.Dom.create("input"); 		inp.type = "text";		inp.size = 40;		if (!fb.masterForms[index] && typeof(fb.masterFields[index]) == "string") { 			r1.checked = true;			inp.value = fb.masterFields[index]; 		}		OAT.Dom.attach(inp,"keyup",function(){			if (!r1.checked) { return; }			fb.masterFields[index] = $v(inp);		});		OAT.Dom.attach(r1,"change",function(){			fb.masterForms[index] = false;			fb.masterFields[index] = $v(inp);		});		d1.appendChild(r1);		d1.appendChild(inp);				/* 2.pick a column */		var d2 = OAT.Dom.create("div");		var r2 = OAT.Dom.create("input");		r2.type = "radio";		r2.name = "radio_"+index;		if (fb.masterForms[index]) { r2.checked = true; }		var sel = OAT.Dom.create("select");		var currIndex = -1;		for (var i=0;i<self.obj.forms.length;i++) {			var f = self.obj.forms[i];			if (f != form) {				for (var j=0;j<f.outputFields.length;j++) {					currIndex++;					var name = f.toString()+"."+f.outputFields[j];					var o = OAT.Dom.option(name,name,sel);					o.masterForm = f;					o.masterField = j;					if (fb.masterForms[index] == f && fb.masterFields[index] == j) { sel.selectedIndex = currIndex; }				}			}		}		var changeRef = function() {			if (!r2.checked) { return; }			var o = sel.childNodes[sel.selectedIndex];			fb.masterForms[index] = o.masterForm;			fb.masterFields[index] = o.masterField;		}		OAT.Dom.attach(r2,"change",changeRef);		OAT.Dom.attach(sel,"change",changeRef);		d2.appendChild(r2);		d2.appendChild(sel);				/* 3.parameter */		var d3 = OAT.Dom.create("div");		var r3 = OAT.Dom.create("input");		r3.type = "radio";		r3.name = "radio_"+index;		var text = OAT.Dom.create("span"); 		text.innerHTML = " ask at runtime";		if (!fb.masterForms[index] && fb.masterFields[index] == -1) { 			r3.checked = true;		}		OAT.Dom.attach(r3,"change",function(){			fb.masterForms[index] = false;			fb.masterFields[index] = -1;		});		d3.appendChild(r3);		d3.appendChild(text);				div.appendChild(d1);		div.appendChild(d2);		div.appendChild(d3);		return [s,div];	}	} /* Toolbox() */

⌨️ 快捷键说明

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