📄 notion.js
字号:
function Notion(){
this.init();
}
function Notion(name){
this.init();
this.setName(name);
}
Notion.prototype.init=function(){
this.name="";
this.filepath="";
this.xmldoc = new ActiveXObject("Microsoft.XMLDOM");
this.xmldoc.async = false;
this.errorMessage="";
this.valid=true;
this.properties=null;
this.storeType="xml";
this.package1="";
this.propertySpport="true";
this.resourceSpport="true";
this.tree="false";
}
Notion.prototype.save=function(){
var root=this.getRootElement();
var path=notionFolder+this.name+".xml";
saveFile(path,xmlHead+root.xml);
}
Notion.prototype.isValid=function(){
return this.valid;
}
Notion.prototype.setName=function(name){
this.name=name;
this.getRootElement().setAttribute("name",this.name);
this.getRootElement().setAttribute("upCaseName",firstCharToUp(this.name));
this.getRootElement().setAttribute("lowCaseName",firstCharToLow(this.name));
this.filepath=notionFolder+name+".xml";
}
Notion.prototype.load=function(name){
this.xmldoc.load(this.filepath);
if(this.xmldoc.parseError.errorCode!= 0){
this.errorMessage = this.xmldoc.parseError.reason;
this.valid=false;
}
}
Notion.prototype.getErrorMessage=function(){
return this.errorMessage;
}
Notion.prototype.addProperty=function(prop){
var root=this.getRootElement();
var oldProp=this.getProperty(prop.name);
if(oldProp==null){
root.appendChild(prop.toXmlElement());
}else{
oldProp.type=prop.type;
oldProp.doGet=prop.doGet;
oldProp.doSet=prop.doSet;
oldProp.defultValue=prop.defultValue;
}
}
Notion.prototype.removeProperty=function(name){
var props=this.getAllProperty();
for(var i=0;i<props.length;i++){
if(props[i].name==name){
props.splice(i,1);
i--;
}
}
}
Notion.prototype.getProperty=function(prop_name){
var props=this.getAllProperty();
var ret=null;
for(var i=0;i<props.length;i++){
if(props[i].name==name){
ret=props[i];
break;
}
}
return ret;
}
Notion.prototype.hasProperty=function(prop_name){
var props=this.getAllProperty();
var ret=false;
for(var i=0;i<props.length;i++){
if(props[i].name==name){
ret=true;
break;
}
}
return ret;
}
Notion.prototype.getAllProperty=function(){
var root=this.getRootElement();
var props=root.getElementsByTagName("property");
this.properties=new Array();
for (var i=0; i<props.length; i++) {
this.properties[i]=this.xmlElement2Property(props[i]);
}
return this.properties;
}
Notion.prototype.getRootElement=function(){
var root=this.xmldoc.documentElement;
if(root==null){
root=this.xmldoc.createElement("bean");
this.xmldoc.appendChild(root);
}
return root;
}
Notion.prototype.xmlElement2Property=function(element_property){
var prop_name=element_property.getAttribute("name");
var prop_type=element_property.getAttribute("type");
var prop_doGet=element_property.getAttribute("doGet");
var prop_doSet=element_property.getAttribute("doSet");
var prop_nullable=element_property.getAttribute("nullable");
var prop_description=element_property.getAttribute("description");
var prop_stringLength=element_property.getAttribute("stringLength");
var prop_defaultValue=element_property.text;
var prop=new Property(prop_name,prop_type,prop_doGet,prop_doSet,prop_defaultValue,prop_nullable);
prop.description=prop_description;
prop.stringLength=prop_stringLength;
return prop;
}
Notion.prototype.toXmlElement=function(){
return this.xmldoc.documentElement;
}
Notion.prototype.getStoreType=function(){
var ret="xml";
var root=this.getRootElement();
var es=root.getElementsByTagName("storeType");
var element_storeType=null;
if(es.length>0){
ret=es[0].text;
}else{
this.setStoreType(ret);
}
return ret;
}
Notion.prototype.setStoreType=function(value){
var root=this.getRootElement();
var es=root.getElementsByTagName("storeType");
var element_storeType=null;
if(es.length>0){
element_storeType=es[0];
}else{
element_storeType=this.xmldoc.createElement("storeType");
root.appendChild(element_storeType);
element_storeType.text=value;
}
this.storeType=value;
}
Notion.prototype.getPackage=function(){
var ret="";
var root=this.getRootElement();
var es=root.getElementsByTagName("package");
var element_package=null;
if(es.length>0){
ret=es[0].text;
}else{
this.setStoreType(ret);
}
return ret;
}
Notion.prototype.setPackage=function(value){
var root=this.getRootElement();
var es=root.getElementsByTagName("package");
var element_package=null;
if(es.length>0){
element_packagee=es[0];
}else{
element_package=this.xmldoc.createElement("package");
root.appendChild(element_package);
element_package.text=value;
}
this.package1=value;
}
Notion.prototype.setPropertySupport=function(bool){
this.propertySupport=bool;
this.getRootElement().setAttribute("propertySupport",""+bool);
}
Notion.prototype.setResourceSupport=function(bool){
this.resourceSupport=bool;
this.getRootElement().setAttribute("resourceSupport",""+bool);
}
Notion.prototype.getPropertySupport=function(){
var root=this.getRootElement();
var ret=root.getAttribute("propertySupport");
return ret;
}
Notion.prototype.getResourceSupport=function(){
var root=this.getRootElement();
var ret=root.getAttribute("resourceSupport");
return ret;
}
Notion.prototype.getTree=function(){
var root=this.getRootElement();
var ret=root.getAttribute("tree");
return ret;
}
Notion.prototype.setTree=function(bool){
this.tree=bool;
this.getRootElement().setAttribute("tree",""+bool);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -