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

📄 main.js

📁 ShopEx网店系统是一款免费的独立网店系统
💻 JS
📖 第 1 页 / 共 3 页
字号:

					if(jsonObj.tabs){
						th = Builder.node('ul');
						tb = Builder.node('div');
						var i = jsonObj.tabidx?jsonObj.tabidx:0;
						for(var t in jsonObj.tabs){
							tc = Builder.node('div',{name:t});
							Element.update(tc,jsonObj.tabs[t]);
							tb.appendChild(tc);
							th.appendChild(
									Builder.node('TD',{name:t,className:(0==i++?'current':'')},[t])
									);
						}
						c.appendChild(
								Builder.node('div',{className:'page-tab'},[
										th
									])
								);
						c.appendChild(tb);
					}else{
						Element.update(c,jsonObj.body);
					}
					e.body.appendChild(c);
 
					try{(uiRender||Prototype.emptyFunction)(c)}catch(err){;}

					f = e.body.getElementsByTagName('form');
					var fbase={};
					for(var i=0;i<f.length;i++){
						name = f[i].getAttribute('name');
						if(jsonObj.form && jsonObj.form[name]){
							f[i].appendChild(Builder.node('input',{type:'hidden',value:name,'name':'_FORM_ID_'}));
							cform.create(jsonObj.form[name],f[i],b);
						}
						var valid = new Validation(f[i], {immediate : true, onFormValidate : X.form.onValidate});
					}
					if(jsonObj.list){
						fds = Element.getElementsByClassName(c,'clist');
						var tbase={};

						for(i=0;i<fds.length;i++){
							tbase[fds[i].getAttribute('list')] = fds[i];
						}

						for(i in jsonObj.list){
							if(tbase[i]){
								clist.create(jsonObj.list[i],tbase[i],i,jsonObj.pager?jsonObj.pager[i]:null,jsonObj._get);
							}
						}

					}

					if(jsonObj.charts){
						for(i in jsonObj.charts){
							var options = {
								padding: {left: 30, right: 0, top: 10, bottom: 30},
								backgroundColor: '#f0f0f0',
								colorScheme: 'blue',
								xTicks: jsonObj.charts[i].cols
							};
							var bar = new Plotr.BarChart(i,options);
							bar.addDataset(jsonObj.charts[i].data);
							bar.render();
						}
					}

					e.body.appendChild(Builder.node('div',{style:'clear:both'}));
					sMenu.init(e.body);
					e.body.style.visibility='';
					X.tab.alert(jsonObj.tab);

				}
			}


			if(jsonObj.elements){
				a = e.body.getElementsByTagName('*');
				for(i=0;i<a.length;i++){
					n = a[i].getAttribute('name');
					if(n && jsonObj.elements[n]){
						Element.update(a[i],jsonObj.elements[n]);
						sMenu.init(a[i]);
					}
				}
			}

			if(jsonObj.scripts){
				jsonObj.scripts.each(
					function(s){
						if(!X.runtime.js[s]){
							shobj = Builder.node('script',{src:'?ctl=sfile&act=script&p[0]='+s,language:'JavaScript',type:'text/javascript'});
							document.body.appendChild(shobj);
							X.runtime.js[s]=1;
						}
					}
				)
			}

			data = jsonObj.data;
			body = e.body;
			X.removeMask();
			if(jsonObj.jscall){
				try{
					eval(jsonObj.jscall);
				}catch(err){
					X.messager.show({string:__('Runtime error: script error!'),type:X.messager.code.error},json.id);
					X.dbg.show('<div style="color:red"><b>jsCall Error:&nbsp; </b>'+jsonObj.jscall+'</div>');
					X.dbg.append('<hr />');
					X.dbg.append(err.description||err.message);
					X.dbg.onError(err);
				}
			}
		}catch(err){
			X.messager.show({string:__('Display error!'),type:X.messager.code.error},json?json.id:Math.random());
			X.dbg.show(err.description||err.message);
			X.dbg.append('<hr />');
			X.dbg.append('<div style="height:300px;overflow:scroll;border:1px solid #f90;padding:10px">'+ret.responseText+'</div>');
			X.dbg.onError(err);
		}
	},
	mask:function(toMask){
		if (toMask) {
			mask = Builder.node('div', {className:'loading',style:'position:absolute;left:100px;top:100px;z-index:100;background-color:red;'}, ['信息加载中...']);
			toMask.parentNode.replaceChild(mask, toMask);
			X.runtime.toMask = toMask;
			X.runtime.mask = mask;
		}
	},
	removeMask:function(){
		if (X.runtime.toMask) {
			X.runtime.mask.parentNode.replaceChild(X.runtime.toMask, X.runtime.mask);
			X.runtime.toMask = X.runtime.mask = '';
		}
	},
	jsrunner:{
		run:function(callid){

		}
	},
	dbg:{
		show:function(msg){
			if($('_debugger')){
				$('_debugger_output').innerHTML=msg;
				if($('_debugger_output').empty())
					$('_debugger_output').hide();
				else
					$('_debugger_output').show();
			}
		},
		append:function(msg){
			if($('_debugger')){
				$('_debugger_output').innerHTML+=msg;
				if(!$('_debugger_output').innerHTML)
					$('_debugger_output').hide();
				else
					$('_debugger_output').show();
			}
		},
		onError:function(err){
			throw(err);
		},
		ajaxError:function(obj,err){
			if($('_debugger')) throw(err);
		}
	},
	tab:{/*{{{*/
		$:function(t){
			tds = $('nav').getElementsByTagName('td');
			for(i=0;i<tds.length;i++){
					if(tds[i].getAttribute('name')==t){
						var r_tab=tds[i];
						break;
					}
			}
			if(!r_tab){
				return false;
			}
			for(var n=$('workground').firstChild;n;n=n.nextSibling){
				if(n.tagName=='DIV'){
					if(n.getAttribute('name')==t){
						return {tab:r_tab,body:n};
					}
				}
			}
			return false;
		},
		resize:function(){
			if($('nav').getElementsByTagName('table')[0].offsetWidth < $('workground').offsetWidth-40){
					$('navtools').hide();
					$('nav').style.left='';
					$('nav').style.width = $('workground').offsetWidth-40+'px';
					$('nav').scrollLeft=0;
			}else{
				$('navtools').show();
				if(!X.runtime.nleft){
					X.runtime.nleft = $('navtools').firstChild.offsetWidth;
					X.runtime.nright = $('navtools').lastChild.offsetWidth;
				}
				$('nav').style.left=X.runtime.nleft+'px';
				$('nav').style.width = $('workground').offsetWidth-X.runtime.nleft-5-X.runtime.nright+'px';
			}
		},
		goleft:function(){
			$('nav').scrollLeft-=100;
		},
		goright:function(){
			$('nav').scrollLeft+=100;
		},
		home:function(t){
			t = t?t:Setting.home.tab;
			if(X.runtime.currentTab!=t){
				X.runtime.lastTab = X.runtime.currentTab;
				if(!X.tab.$(t)){
					X.go(Setting.home,{target:t});
				}
				X.tab.fg(t,true);
			}else if(X.tab.$(X.runtime.lastTab)){
				X.tab.fg(t,true);
			}
		},
		alert:function(t){
			tds = $('nav').getElementsByTagName('td');
			for(i=0;i<tds.length;i++){
					if(tds[i].getAttribute('name')==t){
						if(tds[i].className!='current'){
							tds[i].className='alert';
						}
						break;
					}
			}
		},
		ren:function(t,name){
			if(X.tab.$(name)){
				X.tab.fg(name);
				return false;
			}
			tds = $('nav').getElementsByTagName('td');
			for(i=0;i<tds.length;i++){
					if(tds[i].getAttribute('name')==t){
						tds[i].setAttribute('name',name);
					}
			}
			for(var n=$('workground').firstChild;n;n=n.nextSibling){
				if(n.tagName=='DIV'){
					if(n.getAttribute('name')==t){
						n.setAttribute('name',name);
					}
				}
			}
			return true;
		},
		create:function(t){
			w=0;
			tab=Builder.node('td',{name:t},[
					Builder.node('div',{className:'button',onDblClick:'X.tab.close(this.parentNode)',onClick:'X.tab.fg(this.parentNode)'},[
						Builder.node('label',{},[__('loading...')]),
						Builder.node('b',{className:'close',onClick:'X.tab.close(this.parentNode.parentNode)'},'x')
					]),
				]);
			c=Builder.node('div',{name:t,className:'body',style:'display:none'});
			$('workground').appendChild(c);
			$('nav').getElementsByTagName('tr')[0].appendChild(tab);
			X.tab.resize();

			return {'tab':tab,'body':c};
		},
		setLabel:function(t,l){
			if(X.runtime.currentTab == t){
				X.setTitle(l);
			}
			tds = $('nav').getElementsByTagName('td');
			for(i=0;i<tds.length;i++){
					if(tds[i].getAttribute('name')==t){
						tds[i].getElementsByTagName('label')[0].innerHTML = l;
						tds[i].getElementsByTagName('label')[0].title = l;
						return;
					}
			}
		},
		close:function(t){
			if(typeof(t)=='object'){
				n=t;
				t=t.getAttribute('name');
				removeElement(n);
			}else{
				tds = $('nav').getElementsByTagName('td');
				for(i=0;i<tds.length;i++){
						if(tds[i].getAttribute('name')==t){
							removeElement(tds[i]);
						}
				}
			}
			for(var n=$('workground').firstChild;n;n=n.nextSibling){
				if(n.tagName=='DIV'){
					if(n.getAttribute('name')==t){
						removeElement(n);
					}
				}
			}
			$('nav').scrollLeft+=1;
			X.tab.resize();

			try{
				CollectGarbage();
			}catch(e){;}

			a=[];
			b=[];
			for(i=0;i<tds.length;i++){
					a.push(tds[i].getAttribute('idx'));
					b[tds[i].getAttribute('idx')]=tds[i];
			}
			a.sort();
			X.tab.fg(b[a[a.length-1]]);
		},
		fg:function(t,noUpSeq){
			X.runtime.tabidx++;
			if(typeof(t)=='object'){
				n=t;
				n.className='current';
				X.setTitle(n.getElementsByTagName('label')[0].innerHTML);
				if(!noUpSeq){
					n.setAttribute('idx',X.runtime.tabidx);
				}
				t=t.getAttribute('name');
			}
			tds = $('nav').getElementsByTagName('td');
			for(i=0;i<tds.length;i++){
					if(tds[i].getAttribute('name')==t){
						if(!noUpSeq){
							tds[i].setAttribute('idx',X.runtime.tabidx);
						}
						tds[i].className='current';

						if(tds[i].offsetLeft+tds[i].offsetWidth > $('nav').offsetWidth+$('nav').scrollLeft){
							$('nav').scrollLeft = tds[i].offsetLeft + tds[i].offsetWidth - $('nav').offsetWidth;
						}else if($('nav').scrollLeft > tds[i].offsetLeft){
							$('nav').scrollLeft = tds[i].offsetLeft;
						}

						X.setTitle(tds[i].getElementsByTagName('label')[0].innerHTML);
						tdcrt = tds[i];
					}else if(tds[i].className=='current'){
						tds[i].className=null;
					}
			}
			for(var n=$('workground').firstChild;n;n=n.nextSibling){
				if(n.tagName=='DIV'){
					if(n.getAttribute('name')==t){
						n.style.display='';
					}else if(n.style.display==''){
						n.style.display='none';
					}
				}
			}
			X.runtime.currentTab=t;
		},
		bg:function(t){
			a=[];
			b=[];
			if(typeof(t)=='object')t=t.getAttribute('name');
			tds = $('nav').getElementsByTagName('td');
			for(i=0;i<tds.length;i++){
				if(tds[i].getAttribute('name')!=t){
					a.push(tds[i].getAttribute('idx'));
					b[tds[i].getAttribute('idx')]=n;
				}
			}
			a.sort();
			X.tab.fg(b[a[a.length-1]]);
		}
		,browser:function(obj){
			var tList = Builder.node('ul',{className:'menu',style:'visibility: hidden;'});
			var tds = $('nav').getElementsByTagName('td');
			var curGrp = X.tab.getGrp(X.runtime.currentTab);
			var t={s:[],o:[]};
			for(i=0;i<tds.length;i++){
          var item = { name:tds[i].getAttribute('name'),
									 cname:tds[i].className,
									 label:tds[i].getElementsByTagName('label')[0].innerHTML };

⌨️ 快捷键说明

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