📄 grid_format.js
字号:
return value
};
obj.dataToValue=function(data)
{
return data
};
obj.dataToText=function(data)
{
var value=this.dataToValue(data);
return this.valueToText(value)
};
obj.setErrorText=function(text)
{
this._textError=text
};
obj.setErrorValue=function(value)
{
this._valueError=value
};
obj.setErrorText("#ERR");
obj.setErrorValue(NaN)
};
Active.System.Format.create();
Active.System.HTML=Active.System.Object.subclass();
Active.System.HTML.create=function()
{
var obj=this.prototype;
obj.setTag=function(tag)
{
this._tag=tag
};
obj.getTag=function()
{
return this._tag
};
obj._tag="div";
obj.init=function()
{
if(this.$owner)
{
return
}
if(this._parent)
{
return
}
this._id="tag"+this.all.id++;
this.all[this._id]=this
};
obj.getId=function()
{
return this._id
};
obj._id="";
obj.all=Active.System.all=
{
id:0
};
obj.setId=function(id)
{
this._id=id;
this.all[this._id]=this
};
obj.element=function()
{
var i,docs=this._docs,id=this.getId(),e;
for(i=0;i<docs.length;i++)
{
e=docs[i].getElementById(id);
if(e)
{
return e
}
}
};
obj._docs=[document];
obj.getClass=function(name)
{
var param="_"+name+"Class";
var value=this[param];
return typeof(value)=="function"?value.call(this):value
};
obj.setClass=function(name,value)
{
var element=this.element();
if(element)
{
var v=(typeof(value)=="function")?value.call(this):value;
element.className=element.className.replace(new RegExp("(active-"+name+"-\\w+|$)")," active-"+name+"-"+v+" ");
if(this.$index !=="")
{
return
}
}
if(this.data)
{
return
}
var param="_"+name+"Class";
if(this[param]==null)
{
this._classes+=" "+name
}
this[param]=value;
this._outerHTML=""
};
obj.refreshClasses=function()
{
var element=this.element();
if(!element)
{
return
}
var s="",classes=this._classes.split(" ");
for(var i=1;i<classes.length;i++)
{
var name=classes[i];
var value=this["_"+name+"Class"];
if(typeof(value)=="function")
{
value=value.call(this)
}
s+="active-"+name+"-"+value+" "
}
element.className=s+this.$browser
};
obj._classes="";
obj.getStyle=function(name)
{
var param="_"+name+"Style";
var value=this[param];
return typeof(value)=="function"?value.call(this):value
};
obj.setStyle=function(name,value)
{
var element=this.element();
if(element)
{
element.style[name]=value
}
if(this.data)
{
return
}
var param="_"+name+"Style";
if(this[param]==null)
{
this._styles+=" "+name
}
this[param]=value;
this._outerHTML=""
};
obj._styles="";
obj.getAttribute=function(name)
{
try
{
var param="_"+name+"Attribute";
var value=this[param];
return typeof(value)=="function"?value.call(this):value
}
catch(error)
{
this.handle(error)
}
};
obj.setAttribute=function(name,value)
{
try
{
var param="_"+name+"Attribute";
if(typeof this[param]=="undefined")
{
this._attributes+=" "+name
}
if(specialAttributes[name] &&(typeof value=="function"))
{
this[param]=function()
{
return value.call(this)?true:null
}
}
else
{
this[param]=value
}
this._outerHTML=""
}
catch(error)
{
this.handle(error)
}
};
obj._attributes="";
var specialAttributes=
{
checked:true,disabled:true,hidefocus:true,readonly:true
};
obj.getEvent=function(name)
{
try
{
var param="_"+name+"Event";
var value=this[param];
return value
}
catch(error)
{
this.handle(error)
}
};
obj.setEvent=function(name,value)
{
try
{
var param="_"+name+"Event";
if(this[param]==null)
{
this._events+=" "+name
}
this[param]=value;
this._outerHTML=""
}
catch(error)
{
this.handle(error)
}
};
obj._events="";
obj.getContent=function(name)
{
try
{
var split=name.match(/^(\w+)\W(.+)$/);
if(split)
{
var ref=this.getContent(split[1]);
return ref.getContent(split[2])
}
else
{
var param="_"+name+"Content";
var value=this[param];
if((typeof value=="object")&&(value._parent !=this))
{
value=value.clone();
value._parent=this;
value._id=this._id+"/"+name;
this[param]=value
}
return value
}
}
catch(error)
{
this.handle(error)
}
};
obj.setContent=function(name,value)
{
try
{
if(arguments.length==1)
{
this._content="";
if(typeof name=="object")
{
for(var i in name)
{
if(typeof(i)=="string")
{
this.setContent(i,name[i])
}
}
}
else
{
this.setContent("html",name)
}
}
else
{
var split=name.match(/^(\w+)\W(.+)$/);
if(split)
{
var ref=this.getContent(split[1]);
ref.setContent(split[2],value);
this._innerHTML="";
this._outerHTML=""
}
else
{
var param="_"+name+"Content";
if(this[param]==null)
{
this._content+=" "+name
}
if(typeof value=="object")
{
value._parent=this;
value._id=this._id+"/"+name
}
this[param]=value;
this._innerHTML="";
this._outerHTML=""
}
}
}
catch(error)
{
this.handle(error)
}
};
obj._content="";
obj.$index="";
var getParamStr=function(i)
{return "{#"+i+"}"};
obj.innerHTML=function()
{
try
{
if(this._innerHTML)
{
return this._innerHTML
}
this._innerParamLength=0;
var i,j,name,value,param1,param2,html,item,s="";
var content=this._content.split(" ");
for(i=1;i<content.length;i++)
{
name=content[i];
value=this["_"+name+"Content"];
if(typeof(value)=="function")
{
param=getParamStr(this._innerParamLength++);
this[param]=value;
s+=param
}
else if(typeof(value)=="object")
{
item=value;
html=item.outerHTML().replace(/\{id\}/g,"{id}/"+name);
for(j=item._outerParamLength-1;j>=0;j--)
{
param1=getParamStr(j);
param2=getParamStr(this._innerParamLength+j);
if(param1 !=param2)
{
html=html.replace(param1,param2)
}
this[param2]=item[param1]
}
this._innerParamLength+=item._outerParamLength;
s+=html
}
else
{
s+=value
}
}
this._innerHTML=s;
return s
}
catch(error)
{
this.handle(error)
}
};
obj.outerHTML=function()
{
try
{
if(this._outerHTML)
{
return this._outerHTML
}
var innerHTML=this.innerHTML();
this._outerParamLength=this._innerParamLength;
if(!this._tag)
{
return innerHTML
}
var i,tmp,name,value,param;
var html="<"+this._tag+" id=\"{id}\"";
tmp="";
var classes=this._classes.split(" ");
for(i=1;i<classes.length;i++)
{
name=classes[i];
value=this["_"+name+"Class"];
if(typeof(value)=="function")
{
param=getParamStr(this._outerParamLength++);
this[param]=value;
value=param
}
tmp+="active-"+name+"-"+value+" "
}
if(tmp)
{
html+=" class=\""+tmp+this.$browser+"\""
}
tmp="";
var styles=this._styles.split(" ");
for(i=1;i<styles.length;i++)
{
name=styles[i];
value=this["_"+name+"Style"];
if(typeof(value)=="function")
{
param=getParamStr(this._outerParamLength++);
this[param]=value;
value=param
}
tmp+=name+":"+value+";"
}
if(tmp)
{
html+=" style=\""+tmp+"\""
}
tmp="";
var attributes=this._attributes.split(" ");
for(i=1;i<attributes.length;i++)
{
name=attributes[i];
value=this["_"+name+"Attribute"];
if(typeof(value)=="function")
{
param=getParamStr(this._outerParamLength++);
this[param]=value;
value=param
}
else if(specialAttributes[name] && !value)
{
value=null
}
if(value !==null)
{
tmp+=" "+name+"=\""+value+"\""
}
}
html+=tmp;
tmp="";
var events=this._events.split(" ");
for(i=1;i<events.length;i++)
{
name=events[i];
value=this["_"+name+"Event"];
if(typeof(value)=="function")
{
value="dispatch(event,this)"
}
tmp+=" "+name+"=\""+value+"\""
}
html+=tmp;
html+=">"+innerHTML+"</"+this._tag+">";
this._outerHTML=html;
return html
}
catch(error)
{
this.handle(error)
}
};
obj.toString=function()
{
try
{
var i,s=this._outerHTML;
if(!s)
{
s=this.outerHTML()
}
s=s.replace(/\{id\}/g,this.getId());
var max=this._outerParamLength;
for(i=0;i<max;i++)
{
var param="{#"+i+"}";
var value=this[param]();
if(value===null)
{
value="";
param=specialParams[i];
if(!param)
{
param=getSpecialParamStr(i)
}
}
s=s.replace(param,value)
}
return s
}
catch(error)
{
this.handle(error)
}
};
var specialParams=[];
function getSpecialParamStr(i)
{
return(specialParams[i]=new RegExp("[\\w\\x2D]*=?:?\\x22?\\{#"+i+"\\}[;\\x22]?"))
}
obj.refresh=function()
{
try
{
var element=this.element();
if(element)
{
element.outerHTML=this.toString()
}
}
catch(error)
{
this.handle(error)
}
};
obj.$browser="";
if(window.__defineGetter__)
{
obj.$browser="gecko"
}
if(navigator.userAgent.match("Opera"))
{
obj.$browser="opera"
}
if(navigator.userAgent.match("Konqueror"))
{
obj.$browser="khtml"
}
if(navigator.userAgent.match("KHTML"))
{
obj.$browser="khtml"
}
};
Active.System.HTML.create();
var dispatch=function(event,element)
{
var parts=element.id.split("/");
var tag=parts[0].split(".");
var obj=Active.System.all[tag[0]];
var type="_on"+event.type+"Event";
var i;
for(i=1;i<tag.length;i++)
{
var params=tag[i].split(":");
obj=obj.getTemplate.apply(obj,params)
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -