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

📄 pdm2javav5.html

📁 使用Javascript开发的,通过powerbuilder数据库文件自动生成java代码的功能.使用了XML及FSO
💻 HTML
📖 第 1 页 / 共 5 页
字号:
      }
    }
    str += "</select>";

    return str;

  }

	function generateFieldConfig(jspType){	//Call from query,list,edit,view Fileds select Changed
		//alert(jspType);
		var select1 = document.getElementById(jspType+"FieldSelect");

		for(var i=0;i<select1.options.length;i++){
			var select1Value = select1.options[i].value;

			if(select1.options[i].selected){
				mySelectNode("/root/table/"+tableJavaName+"/column/"+select1Value);
				if(!mySelectNode("/root/table/"+tableJavaName+"/" + jspType).selectSingleNode("column")){
					mySelectNode("/root/table/"+tableJavaName+"/" + jspType + "/column/"+select1Value);
					mySelectNode("/root/table/"+tableJavaName+"/" + jspType + "/column/sort_on");
					mySelectNode("/root/table/"+tableJavaName+"/" + jspType + "/column/field_name").text=select1Value;
	      }else{
					if(!xmlConfigdoc.selectSingleNode("/root/table/"+tableJavaName+"/" + jspType + "/column/" + select1Value))
					{
							var xmlColumn = xmlConfigdoc.createElement("column");
							xmlColumn.appendChild(xmlConfigdoc.createElement(select1Value));
							xmlColumn.appendChild(xmlConfigdoc.createElement("sort_on"));
							var xmlFieldName = xmlConfigdoc.createElement("field_name");
							xmlFieldName.text = select1Value;
							xmlColumn.appendChild(xmlFieldName);
							mySelectNode("/root/table/"+tableJavaName+"/" + jspType ).appendChild(xmlColumn);
					}
				}
			}
		}

    //重新生成列表
    //alert(jspType+"FieldSelectArea");
    document.getElementById(jspType+"FieldSelectArea").innerHTML = generateFieldSelect(jspType);

    //显示右则的编辑内容
    generateConfigArea(jspType);
	}

	function saveJspTypePropertyConfig(jspType,attName,attValue){	//Call from jspType page common config element's onchange

		var xpathThis = "/root/table/"+tableJavaName+"/"+jspType;

		var thisConfigNode = mySelectNode(xpathThis);

    thisConfigNode.setAttribute(attName, attValue);

    //thisConfigNode.removeAttribute(attName);

    //var r1 = xmlConfigdoc.createAttribute(attName);
    //r1.value=attValue;

    //thisConfigNode.setAttributeNode(r1);
    xmlFileChanged = true;
	}

	function showLoadJavaResourceAreaConfig(){
		var str = generateCommonConfigElement("needGlobalJavaReourcePath");
		str += " " + generateCommonConfigElement("needGlobalJavaReourceName");
		var javaResourceName = xmlConfigdoc.selectSingleNode("/root").getAttribute("java_resource_name");
		var javaResourcePath = xmlConfigdoc.selectSingleNode("/root").getAttribute("java_resource_path");

    var saveStr = "";
		if (javaResourceName && javaResourceName != "" && javaResourcePath && javaResourcePath != ""){
			if(!fso) fso = new ActiveXObject("Scripting.FileSystemObject");
			if(fso.FileExists(javaResourcePath+"\\"+javaResourceName+"_en.properties")){
				str += " <input type=button value='载入Java资源' onclick='loadJavaResource()'>";
				saveStr += "<input type=button value='保存合并后的Java资源' onclick='saveCombinedJavaResource()'>";
			}
  	}
  	document.getElementById("loadJavaResourceArea").innerHTML = str;
  	document.getElementById("saveJavaResourceArea").innerHTML = saveStr;

	}

	function saveGlobalPropertyConfig(attName,attValue){	//Call from Global Variable config element's onchange

		var xpathThis = "/root";

		var thisConfigNode = mySelectNode(xpathThis);

    //thisConfigNode.removeAttribute(attName);

    //var r1 = xmlConfigdoc.createAttribute(attName);
    //r1.value=attValue;

    //thisConfigNode.setAttributeNode(r1);
    thisConfigNode.setAttribute(attName, attValue);
    //if("java_resource_path" == attName) alert(attValue);

		//生成<span id=loadJavaResourceArea></span>显示内容
		if (attName.indexOf("java") == 0)
			showLoadJavaResourceAreaConfig();

		if (attName.indexOf("table") == 0)
			generateSortTableConfigArea();


		xmlFileChanged = true;
	}

  function saveFieldPropertyConfig(jspType,fieldJavaNameStr,attName,attValue){	//Call from field config page's element onchange

		var xpathField = "/root/table/"+tableJavaName+"/column/"+fieldJavaNameStr;
		var xpathThis = xpathField+"/"+jspType;
		var thisConfigNode = mySelectNode(xpathThis);


    thisConfigNode.setAttribute(attName, attValue);

    //thisConfigNode.removeAttribute(attName);

    //var r1 = xmlConfigdoc.createAttribute(attName);
    //r1.value=attValue;

    //thisConfigNode.setAttributeNode(r1);

  	//更新设置区域
  	generateConfigArea(jspType)

  	xmlFileChanged = true;
  }

  function generateConfigArea(jspType){		//Generate Field Config page

  	//setSortOnValueByOrder("/root/table/"+tableJavaName+"/" + jspType + "/column");
    //nodeSortOnValue("/root/table/"+tableJavaName+"/" + jspType + "/column");

		//show select list in the right
		var removeAllBtnStr = "<input type=button onclick='if(confirm(\"确认删除所有?\"))fieldConfigChangeIndex(\""+jspType+"\",";
				removeAllBtnStr += " null,\"removeAll\",null)' style='width:15' value='×'>";
		var str = "";
		var strTableHead = "<center><table width=100% border=0 bgColor=#000000 cellpadding=1 cellspacing=1 >";
		strTableHead += "<tr bgColor=#FFFFFF height=20px><td colspan=6>" + findJspTypeChs(jspType) + ":" + jspType + "</td></tr>";
		strTableHead += "<tr bgColor=#CCCCCC height=20px><td><b><center>操作"+removeAllBtnStr+"</td><td><b><center>字段名称</td>";
		strTableHead += "<td><b><center>字段代码</td><td><b><center>字段类型</td><td><b><center>配置</td></tr>";

		var nodes = xmlConfigdoc.selectNodes("/root/table/"+tableJavaName+"/" + jspType + "/column");
		for (var i = 0; i < nodes.length; i++)
		{
				var fieldJavaNameStr = nodes[i].selectSingleNode("field_name").text;
				str += "<tr ";
				var fieldIndex = findFieldIndex(fieldJavaNameStr);

				if (i%2 == 0){
					str += " bgColor=#FFFFFF ";
				}else{
					str += " bgColor=#EEEEEE ";
				}

				str += " height=20px>";
				str += "<td align=center width=75px  nowrap>";

				str += "<input type=button onclick='fieldConfigChangeIndex(\""+jspType+"\",";
				str += "\""+fieldJavaNameStr+"\",\"top\","+i+")' style='width:15' value='﹊'>";

				str += "<input type=button onclick='fieldConfigChangeIndex(\""+jspType+"\",";
				str += "\""+fieldJavaNameStr+"\",\"up\","+i+")' style='width:15' value='▲'>";

				str += "<input type=button onclick='fieldConfigChangeIndex(\""+jspType+"\",";
				str += "\""+fieldJavaNameStr+"\",\"down\","+i+")' style='width:15' value='▼'>";

        str += "<input type=button onclick='fieldConfigChangeIndex(\""+jspType+"\",";
				str += "\""+fieldJavaNameStr+"\",\"bottom\","+i+")' style='width:15' value='﹎'>";

				str += "<input type=button onclick='fieldConfigChangeIndex(\""+jspType+"\",";
				str += "\""+fieldJavaNameStr+"\",\"remove\","+i+")' style='width:15' value='×'></td>";

				str += "<td width=12% nowrap>"+fieldNameChs[fieldIndex]+"</td>";
				str += "<td width=12% nowrap>"+fieldJavaNameStr+"</td>";
				str += "<td width=10% nowrap>"+fieldType[fieldIndex]+"</td>";
				str += "<td nowrap>"+generateFieldPropertyView(jspType,fieldJavaNameStr,fieldIndex)+"</td>";
				str += "</tr>";
				//nodes[i].selectSingleNode(sortOn).text = 1000+i*2;

		}

		if (str != ""){
			str = strTableHead + str + "</table><br>";
		}

		//生成当前页面类型共用的设置信息
		var commStr = "";
		//alert(curJspTypes);
		//对查询列表页进行特别的处理
		if (curJspTypes == "query_list"){
			commStr += generateCommonConfigElement("needJspPageTitle","list");
			commStr += " "+generateCommonConfigElement("needJspPageCommonNav","list");
			commStr += " "+generateCommonConfigElement("needJspPageTableCols","query");
			commStr += "<br>" + generateCommonConfigElement("needJspPageCurrentPath","list");
			commStr += " "+generateCommonConfigElement("needJspPageFormTitle","list");

		}else{
			if (curJspTypes == "edit" || curJspTypes == "view" ){
			commStr += generateCommonConfigElement("needJspPageTitle",jspType);
			commStr += " "+generateCommonConfigElement("needJspPageCommonNav",jspType);
			commStr += " "+generateCommonConfigElement("needJspPageTableCols",jspType);
			commStr += "<br>" + generateCommonConfigElement("needJspPageCurrentPath",jspType);
			commStr += " "+generateCommonConfigElement("needJspPageFormTitle",jspType);

			}
		}

    document.getElementById('jspPageCommonSet').innerHTML = commStr;

		//如果当前页面没有字段被选中不显示生成代码的按钮


    if(jspType == "query" || jspType == "list"){
    	var queryNodes = xmlConfigdoc.selectNodes("/root/table/"+tableJavaName+"/query/column");
    	var listNodes = xmlConfigdoc.selectNodes("/root/table/"+tableJavaName+"/list/column");
    	if((!queryNodes || queryNodes.length ==0)&&(!listNodes || listNodes.length ==0)){
    		document.getElementById("generateJspButtonArea").style.display = "none";
    	}else{
    		document.getElementById("generateJspButtonArea").style.display = "";
    	}
    }

    if (jspType == "edit" || jspType == "view"){
    	var jspTypeNodes = xmlConfigdoc.selectNodes("/root/table/"+tableJavaName+"/"+jspType+"/column");
      if(!jspTypeNodes || jspTypeNodes.length ==0){
    		document.getElementById("generateJspButtonArea").style.display = "none";
    	}else{
    		document.getElementById("generateJspButtonArea").style.display = "";
    	}
    }

		document.getElementById(jspType+"fieldConfig").innerHTML=str;

		//显示当前可操作区域
		showCurOperateArea()

  }

	function fieldConfigChangeIndex(jspType,fieldName,doAction,curIndex){
		var thisJspTypePath = "/root/table/"+tableJavaName+"/" + jspType;
		if(!fieldName && doAction == "removeAll"){
			//alert(thisJspTypePath + "/column");
			var childNodes = xmlConfigdoc.selectNodes(thisJspTypePath + "/column");
			for(var i=0; i<childNodes.length ;i++){
				childNodes[i].parentNode.removeChild(childNodes[i]);
			}
		}else{
			var fieldNode = xmlConfigdoc.selectSingleNode(thisJspTypePath + "/column/" + fieldName);
			var thisNode = fieldNode.parentNode;
			var jspTypeNodes = thisNode.parentNode;
			var columnNodes = jspTypeNodes.selectNodes(thisNode.nodeName);
			var columnCount = columnNodes.length;


			if (doAction == "remove"){
			  jspTypeNodes.removeChild(thisNode);
			}else{
				if (doAction == "up"){
					//第一个
		      if(curIndex == 0){
	        	thisNode.parentNode.appendChild(thisNode);
		      }else{
		      	jspTypeNodes.insertBefore(thisNode,columnNodes[curIndex-1]);
		      }
				}
				if (doAction == "down"){
					//最后一个
		      if(curIndex == columnCount-1){
	        	jspTypeNodes.insertBefore(thisNode,columnNodes[0]);
		      }else{
		      	//最后第二个
		      	if(curIndex == columnCount-2){
		        	thisNode.parentNode.appendChild(thisNode);
			      }else{
		      		jspTypeNodes.insertBefore(thisNode,columnNodes[curIndex+2]);
		      	}
		      }
				}
				if (doAction == "top"){
					jspTypeNodes.insertBefore(thisNode,columnNodes[0]);
				}
				if (doAction == "bottom"){
					thisNode.parentNode.appendChild(thisNode);
				}
	  	}

⌨️ 快捷键说明

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