📄 templet.js
字号:
{
var core = this;
var ee = window.event || ev;
var et = ee.srcElement;
var oe = Window.getOffset(et);
var _valid = true;
var _text = "";
var _temp = "";
var _list;
if (atol(et.getAttribute("type")) == core.TYPE_VALID)
{
_text = jspp.Caption + " 模版 - " + core.getAPIName(et.getAttribute("API"));
_temp = core.getAPIHint(et);
}
else
{
_valid = false;
}
var obj = document.getElementById("_menu_");
if (obj && obj.style.display == "") _valid = false;
var _w = 250;
var _h = 200;
var objDiv = document.getElementById("_hint_");
if (objDiv == null)
{
objDiv = document.createElement("DIV");
document.body.appendChild(objDiv);
objDiv.id = "_hint_";
objDiv.style.position = "absolute";
objDiv.style.width = _w + "px";
objDiv.style.height = _h + "px";
objDiv.style.border = "1px solid #000000";
objDiv.style.backgroundColor = "#FFFFC8";
objDiv.style.fontSize = "12px";
objDiv.style.fontFamily = "Arial";
objDiv.style.padding = "2px";
objDiv.style.overflow = "auto";
}
_w += (jspp.isIE ? 0 : 6);
_h += (jspp.isIE ? 0 : 6);
if (oe.left + _w > document.body.clientWidth + document.body.scrollLeft)
{
objDiv.style.left = oe.right - _w + (jspp.isMO ? 0 : 1);
}
else
{
objDiv.style.left = oe.left - (jspp.isMO ? 1 : 0);
}
if (oe.bottom + _h > document.body.clientHeight + document.body.scrollTop)
{
objDiv.style.top = oe.top - _h;
}
else
{
objDiv.style.top = oe.bottom - (jspp.isMO ? 1 : 0);
}
objDiv.innerHTML = (_text + "\r\n" + "-".repeat(32) + "\r\n" + _temp).replace(/\r\n/g, "<br/>");
objDiv.style.display = (_valid ? "" : "none");
};
Templet.callSave = function()
{
var core = this;
var html = Kernel.getRemoteFile("templet/save.html");
var box = new xWindow("frmSave", "width=322,height=190,overflowX=hidden,overflowY=hidden,minButton=false,maxButton=false", true);
box.setCaption(jspp.Caption + " 模版 - 保存模版");
box.draw(html, 10, 10);
box.center();
Form.setValue("_name_", core.name);
Form.setSelect("_type_", core.type);
Form.setCheck("_rewrite_", core.name != "");
var _accept = document.getElementById("_accept_");
_accept.onclick = function()
{
var name = core.name = Form.item("_name_");
var type = core.type = Form.item("_type_");
if (name == "")
{
MessageBox.show(MSG_WARNING, "请先输入模版名称");
}
else
{
var tbl = document.getElementById("_main_");
var trx = tbl.rows;
var ret = new Array();
for (var i = 1; i < trx.length; i++)
{
var tdx = trx[i].cells;
var tmp = new Array();
for (var k = 0; k < tdx.length; k++)
{
if (k == 0)
{
tmp.push(Templet.setAlign(tdx[k].innerText));
}
else if (tdx[k].getAttribute("type") == core.TYPE_VALID)
{
if (tdx[k].getAttribute("value") == null)
{
tmp.push(tdx[k].getAttribute("API"));
}
else
{
tmp.push(tdx[k].getAttribute("API") + "##" + tdx[k].getAttribute("value"));
}
}
}
if (tmp.length > 1)
{
ret.push(tmp.join("@@@"));
}
}
var val = ret.join("$$$");
if (val == "")
{
MessageBox.show(MSG_WARNING, "不能保存空模版");
}
else
{
var rewrite = Form.check("_rewrite_").toInteger();
var rpc = new xmlrpc();
rpc.setData("Name", name);
rpc.setData("Value", val);
rpc.setData("Type", type);
rpc.setData("Rewrite", rewrite);
MessageBox.show(MSG_WAITING, "初始化服务请求……");
rpc.callBack = function()
{
var http = rpc.http;
switch (http.readyState)
{
case 1:
MessageBox.write("正在连接服务程序……");
break;
case 2:
MessageBox.write("已连接服务程序……");
break;
case 3:
MessageBox.write("正在返回状态报告……");
break;
case 4:
var ret = http.responseText;
if (ret == "OK")
{
MessageBox.write("<font color=\"#0000FF\">保存成功</font>");
MessageBox.setType(MSG_HINT);
MessageBox.doAccept(function()
{
box.free();
box = null;
if (window.opener && window.opener.jspp && window.opener.jspp.Templet)
{
window.opener.jspp.Templet.add(name);
}
}, true);
}
else
{
MessageBox.write("<font color=\"#FF0000\">保存失败:" + ret + "</font>");
MessageBox.setType(MSG_WARNING);
}
rpc.close();
rpc = null;
break;
}
};
rpc.doPost("admin_templet.asp?Handle=save", true);
}
}
};
var _cancel = document.getElementById("_cancel_");
_cancel.onclick = function()
{
box.free();
};
};
Templet.callOpen = function()
{
var core = this;
var html = Kernel.getRemoteFile("admin_templet.asp?Handle=open");
var box = new xWindow("frmOpen", "width=442,height=300,overflowX=hidden,overflowY=auto,minButton=false,maxButton=false", true);
box.setCaption(jspp.Caption + " 模版 - 打开模版");
box.draw(html, 10, 10);
box.center();
};
Templet.callModify = function(name)
{
jspp.window.frmOpen.free();
var buf = Kernel.getRemoteFile("admin_templet.asp?Handle=load&Name=" + encodeURIComponent(name));
var arr;
if ((arr = buf.match(/^ERR:(.+)/)) != null)
{
MessageBox.show(MSG_WARNING, arr[1]);
return false;
}
var row = 0, col = 0;
buf = buf.Split(/\$\$\$/g);
Templet.name = name;
Templet.type = buf[0].toInteger();
row = buf.length;
for (var i = 1; i < buf.length; i++)
{
var tmp = buf[i].Split(/@@@/g);
if (tmp.length > col) col = tmp.length;
}
if (row < Templet.row) row = Templet.row;
if (col < Templet.col) col = Templet.col;
Templet.create(row, col);
var tbl = document.getElementById("_main_");
for (var i = 1; i < buf.length; i++)
{
var tmp = buf[i].Split(/@@@/g);
for (var k = 0; k < tmp.length; k++)
{
var tdx = tbl.rows[i].cells[k]
if (k == 0)
{
tdx.innerText = Templet.getAlign(tmp[k]);
}
else
{
var val = tmp[k].Split(/##/g);
tdx.setAttribute("type", Templet.TYPE_VALID);
tdx.setAttribute("API", val[0]);
switch (val[0])
{
case "Text":
tdx.innerHTML = "<img src=\"images/xw_button0.gif\" border=\"0\" align=\"absBottom\" /> ......";
break;
case "Image":
tdx.innerHTML = "<img src=\"images/xw_button1.gif\" border=\"0\" align=\"absBottom\" /> ......";
break;
case "Link":
tdx.innerHTML = "<img src=\"images/xw_button2.gif\" border=\"0\" align=\"absBottom\" /> ......";
break;
default:
tdx.innerHTML = "<img src=\"images/xw_button3.gif\" border=\"0\" align=\"absBottom\" /> ......";
break;
}
val = val.slice(1, val.length).join("##");
if (val == "")
{
tdx.setAttribute("value", null);
}
else
{
tdx.setAttribute("value", val);
}
}
}
}
};
Templet.setAlign = function(cn)
{
if (cn == "中") return("center");
if (cn == "右") return("right");
return("left");
};
Templet.getAlign = function(en)
{
if (en == "center") return("中");
if (en == "right") return("右");
return("左");
};
Templet.callRename = function(name)
{
var core = this;
var html = Kernel.getRemoteFile("templet/name.html");
var box = new xWindow("frmRename", "width=322,height=162,overflowX=hidden,overflowY=hidden,minButton=false,maxButton=false", true);
box.setCaption(jspp.Caption + " 模版 - 重命名模版");
box.draw(html, 10, 10);
box.center();
Form.setValue("_old_name_", name);
var _accept = document.getElementById("_accept_");
_accept.onclick = function()
{
var oldName = Form.item("_old_name_");
var newName = Form.item("_new_name_");
if (newName == "")
{
MessageBox.show(MSG_WARNING, "请输入新的模版名称");
}
else if (oldName == newName)
{
MessageBox.show(MSG_HINT, "新名称不能与旧名称同名");
}
else
{
var rpc = new xmlrpc();
rpc.setData("OldName", oldName);
rpc.setData("NewName", newName);
MessageBox.show(MSG_WAITING, "初始化服务请求……");
rpc.callBack = function()
{
var http = rpc.http;
switch (http.readyState)
{
case 1:
MessageBox.write("正在连接服务程序……");
break;
case 2:
MessageBox.write("已连接服务程序……");
break;
case 3:
MessageBox.write("正在返回状态报告……");
break;
case 4:
var ret = http.responseText;
if (ret == "OK")
{
MessageBox.write("<font color=\"#0000FF\">模版重命名成功</font>");
MessageBox.setType(MSG_HINT);
MessageBox.doAccept(function()
{
box.free();
box = null;
jspp.window.frmOpen.free();
if (window.opener && window.opener.jspp && window.opener.jspp.Templet)
{
window.opener.jspp.Templet.update(oldName, newName);
}
Templet.callOpen();
if (Templet.name == oldName) Templet.name = newName;
}, true);
}
else
{
MessageBox.write("<font color=\"#FF0000\">模版重命名失败:" + ret + "</font>");
MessageBox.setType(MSG_WARNING);
}
rpc.close();
rpc = null;
break;
}
};
rpc.doPost("admin_templet.asp?Handle=rename", true);
}
};
var _cancel = document.getElementById("_cancel_");
_cancel.onclick = function()
{
box.free();
};
};
Templet.callRemove = function(name)
{
var core = this;
MessageBox.show(MSG_CONFIRM, "您确定要删除模版[" + name + "]么?");
MessageBox.doAccept(function()
{
var rpc = new xmlrpc();
rpc.setData("Name", name);
MessageBox.show(MSG_WAITING, "初始化服务请求……");
rpc.callBack = function()
{
var http = rpc.http;
switch (http.readyState)
{
case 1:
MessageBox.write("正在连接服务程序……");
break;
case 2:
MessageBox.write("已连接服务程序……");
break;
case 3:
MessageBox.write("正在返回状态报告……");
break;
case 4:
var ret = http.responseText;
if (ret == "OK")
{
MessageBox.write("<font color=\"#0000FF\">删除成功</font>");
MessageBox.setType(MSG_HINT);
MessageBox.doAccept(function()
{
jspp.window.frmOpen.free();
if (window.opener && window.opener.jspp && window.opener.jspp.Templet)
{
window.opener.jspp.Templet.remove(name);
}
Templet.callOpen();
}, true);
}
else
{
MessageBox.write("<font color=\"#FF0000\">删除失败:" + ret + "</font>");
MessageBox.setType(MSG_WARNING);
}
rpc.close();
rpc = null;
break;
}
};
rpc.doPost("admin_templet.asp?Handle=delete", true);
}, true);
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -