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

📄 notion.js

📁 一个javascript写的自动生成代码的东东
💻 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 + -