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

📄 treeview.htc

📁 支持多人注册使用
💻 HTC
📖 第 1 页 / 共 5 页
字号:
var exp = node.getAttribute("Expandable");
if (exp == null && node.getAttribute("TreeNodeSrc") != null)
exp = "checkOnce";
var bChildNodes = node.children.tags("treenode").length > 0;
var junctionNode = generateJunctionNode(node, cJunction, bChildNodes || (exp == "always" || (exp == "checkOnce" && node.getAttribute("checkedExpandable") != true)) ? "parent" : "child");
var accessNode = node.subtree.all("_tnaccess", 0);
if (!bChildNodes)
accessNode.title = "";
else
{
var textNode = node.subtree.all("_tntext", 0);
accessNode.title = textNode.innerText + " : " + L_strToolTip_Text;
}
oldNode.replaceNode(junctionNode);
}
function addStatusNode(el, str)
{
if (el.subtree != null && el.subtree.all.item("_fetch", 0) != null)
return;
var fetchNode =  el.document.createElement("<DIV id=_fetch>");
var imageNode = el.document.createElement("<IMG align='absmiddle' border='0'>");
imageNode.src = element.getAttribute("systemimagespath") + "white.gif";
fetchNode.appendChild(imageNode);
var junctionNode = generateJunctionNode(null, 'L', "child");
fetchNode.appendChild(junctionNode);
addLinesAndWhitespace(fetchNode, el == element ? contentNode : el, junctionNode);
var textNode = el.document.createElement("<SPAN id=_tntext tabIndex=-1 style='display:inline; height=100%'>");
textNode.innerText = str;
textNode.className = "defaultstyle";
var defStyle;
if (el == element)
defStyle = g_styles["defaultstyle"] + ";" + element.getAttribute("defaultstyle");
else
defStyle = cascadeStyle(el, "defaultstyle");
textNode.style.cssText = defStyle;
fetchNode.appendChild(textNode);
if (el == element)
{
if (!g_bCreated)
{
fetchNode.style.display = "block";
defaults.viewLink = fetchNode.document;
}
else
{
treeviewNode.appendChild(fetchNode);
}
}
else
{
if (el.subtree != null)
el.subtree.appendChild(fetchNode);
}
doVisualRefresh();
}
function databindNode(el)
{
var src = el.getAttribute("TreeNodeSrc");
if (src == null)
return;
addStatusNode(el, L_strRetrievingNodes_Text);
el._bound = "binding";
var XsltSrc = el.getAttribute("TreeNodeXsltSrc");
var databindInfo = new Object();
databindInfo.el = el;
databindInfo.transform = null;
databindInfo.island = null;
databindInfo.src = src;
if (el == contentNode)
g_bNodesReady = false;
if (XsltSrc != null)
{
databindInfo.transform = element.document.all(XsltSrc);
if (databindInfo.transform == null)
{
try
{
databindInfo.transform = new ActiveXObject("Msxml2.DOMDocument");
}
catch (e)
{
databindError(databindInfo, L_strMSXMLError_Text);
return;
}
databindInfo.transform.async = false;
if (!databindInfo.transform.loadXML(XsltSrc))
databindInfo.transform.load(XsltSrc);
}
else
databindInfo.transform = databindInfo.transform.XMLDocument;
}
databindInfo.island = element.document.all(src);
if (databindInfo.island == null)
{
try
{
databindInfo.island = new ActiveXObject("Msxml2.DOMDocument");
}
catch (e)
{
databindError(databindInfo, L_strMSXMLError_Text);
return;
}
databindInfo.island.async = false;
g_pendingSyncBinds = g_pendingSyncBinds.concat(databindInfo);
if (g_bindTimer == -1)
g_bindTimer = window.setTimeout(syncBind, 10, "JScript");
}
else
finishDatabindingNode(databindInfo, true);
}
function syncBind()
{
while (g_pendingSyncBinds.length > 0)
{
var databindInfo = g_pendingSyncBinds[0];
g_pendingSyncBinds.splice(0, 1);
if (!databindInfo.island.loadXML(databindInfo.src))
{
databindInfo.island.async = true;
g_pendingBinds = g_pendingBinds.concat(databindInfo);
databindInfo.island.onreadystatechange = finishDatabindingNodeHandler;
databindInfo.island.load(databindInfo.src);
}
else
finishDatabindingNode(databindInfo, true);
}
g_bindTimer = -1;
}
function finishDatabindingNodeHandler()
{
for (var i = 0; i < g_pendingBinds.length; i++)
{
if (g_pendingBinds[i].island.readyState == 1)
g_pendingBinds[i].b = true;
if (g_pendingBinds[i].island.readyState == 4 && g_pendingBinds[i].b == true)
{
var bindInfo = g_pendingBinds[i];
g_pendingBinds.splice(i, 1);
finishDatabindingNode(bindInfo, false);
i--;
}
}
}
function finishDatabindingNode(databindInfo, bReady)
{
if (bReady != true && databindInfo.island == null)
return;
if (databindInfo.island.xml == "" || (databindInfo.transform != null && databindInfo.transform.xml == ""))
{
var regexp = /%s/;
var str = "<B>" + L_strXMLError_Text + "</B>";
str = str.replace(regexp, databindInfo.el.getAttribute('TreeNodeSrc'));
databindError(databindInfo, str);
return;
}
if (databindInfo.transform != null)
{
var html = databindInfo.island.transformNode(databindInfo.transform);
try
{
databindInfo.island =  new ActiveXObject("Msxml2.DOMDocument");
}
catch (e)
{
databindError(databindInfo, L_strMSXMLError_Text);
return;
}
databindInfo.island.loadXML(html);
}
var container = databindInfo.island.selectSingleNode("TREENODES");
if (container == null)
{
var strXslt = databindInfo.el.getAttribute("TreeNodeXsltSrc");
var strError = "<B>" + L_strInvalidXML_Text;
var regexp = /%s/;
strError = strError.replace(regexp, databindInfo.el.getAttribute('TreeNodeSrc'));
if (strXslt != null)
{
strError += L_strXSLTError_Text + "</B>";
strError = strError.replace(regexp, databindInfo.el.getAttribute('TreeNodeXsltSrc'));
}
else
strError += "</B>";
databindError(databindInfo, strError);
return;
}
var child = container.firstChild;
var html = "";
while (child != null)
{
if (child.nodeName.toLowerCase() == "treenode")
html += child.xml;
child = child.nextSibling;
}
databindInfo.el._bound = "complete";
html = html.replace(/(<\/?)(treenode)/gi, "$1" + element.scopeName + ":$2");
if (databindInfo.el == element)
{
contentNode.innerHTML = html;
g_bNodesReady = true;
tryToBuildTreeFromRoot();
}
else
{
databindInfo.el.innerHTML += html;
if (databindInfo.el.subtree != null)
{
buildTree(databindInfo.el, getNodeLevel(databindInfo.el));
if (databindInfo.el._isExpanding == true)
{
databindInfo.el.removeAttribute("_isExpanding");
finishNodePlusMinusClick(databindInfo.el);
}
else
{
reselectNode(databindInfo.el);
}
}
}
doVisualRefresh();
var evt = element.document.createEventObject();
if (databindInfo.el == element)
evt.treeNodeIndex = null;
else
evt.treeNodeIndex = getNodeIndex(databindInfo.el);
evt.reason = 0;
_tvevtNodeBound.fire(evt);
}
function databindError(databindInfo, strError)
{
var fetch;
var event = createEventObject();
if (databindInfo.el == element)
event.treeNodeIndex = null;
else
event.treeNodeIndex = getNodeIndex(databindInfo.el);
event.reason = 2;
_tvevtNodeBound.fire(event);
if (databindInfo.el == element)
fetch = defaults.viewLink.all.item("_fetch", 0);
else
fetch = databindInfo.el.subtree.all.item("_fetch", 0);
if (fetch != null)
{
var tntext = fetch.all.item("_tntext", 0);
tntext.innerHTML = strError;
}
}
function databindTypes()
{
var src = element.getAttribute("TreeNodeTypeSrc");
if (src == null)
return;
g_bTypesReady = false;
g_typeIsland = element.document.all(src);
if (g_typeIsland == null)
{
try
{
g_typeIsland = new ActiveXObject("Msxml2.DOMDocument");
}
catch (e)
{
databindError(databindInfo, L_strMSXMLError_Text);
return;
}
g_typeIsland.async = false;
if (!g_typeIsland.loadXML(src))
{
g_typeIsland.async = true;
g_typeIsland.onreadystatechange = finishDatabindingTypes;
g_typeIsland.load(src);
}
else
finishDatabindingTypes();
}
}
function finishDatabindingTypes()
{
if (g_typeIsland.readyState != 4)
return;
if (g_typeIsland.xml == "")
{
databindTypesError();
return;
}
var container = g_typeIsland.selectSingleNode("TREENODETYPES");
if (container == null)
{
databindTypesError();
return;
}
var child = container.firstChild;
var html = "";
while (child != null)
{
if (child.nodeName.toLowerCase() == "treenodetype")
html += child.xml;
child = child.nextSibling;
}
html = html.replace(/(<\/?)(treenodetype)/gi, "$1" + element.scopeName + ":$2");
g_typesNode = element.document.createElement("DIV");
g_typesNode.innerHTML = html;
element.nodeTypes = g_typesNode.children.tags("TREENODETYPE");
verifyTypeValues();
g_bTypesReady = true;
var evt = element.document.createEventObject();
evt.reason = 0;
g_bInTypesBoundEvent = true;
_tvevtNodeTypesBound.fire(evt);
g_bInTypesBoundEvent = false;
tryToBuildTreeFromRoot();
}
function databindTypesError()
{
var event = createEventObject();
event.reason = 2;
g_bInTypesBoundEvent = true;
_tvevtNodeTypesBound.fire(event);
g_bInTypesBoundEvent = false;
g_typesNode = element.document.createElement("DIV");
element.nodeTypes = g_typesNode.children.tags("TREENODETYPE");
g_bTypesReady=true;
}
function verifyExpandableValue(value)
{
var lval = value.toLowerCase();
switch (lval)
{
case "auto":
case "checkonce":
case "always":
return true;
default:
return false;
break;
}
}
function verifyBooleanAttribute(node, att)
{
var value = node.getAttribute(att);
if (value == null)
return false;
var boolval = makeBoolean(value);
if (value == boolval)
return true;
node.setAttribute(att, boolval == null ? false : boolval, 0);
return (boolval != null);
}
function makeBoolean(value)
{
if (value == true || value == false)
return value;
if (value == null)
return null;
var lval = value.toLowerCase();
switch (lval)
{
case "true":
return true;
case "false":
return false;
default:
return null;
}
}
function verifyTypeValues()
{
var len = element.nodeTypes.length;
for (var i = 0; i < len; i++)
{
var str = element.nodeTypes[i].getAttribute("type");
if (str != null)
element.nodeTypes[i].setAttribute("type", str.toLowerCase(), 0);
verifyBooleanAttribute(element.nodeTypes[i], "expanded");
verifyBooleanAttribute(element.nodeTypes[i], "checkBox");
}
}
function getNodeTypeHtml()
{
var html = "";
for (var i = 0; i < element.nodeTypes.length; i++)
{
html += element.nodeTypes[i].outerHTML;
}
return html;
}
function getDefaultStyle()
{
return prop_defaultStyle;
}
function setDefaultStyle(value)
{
if (prop_defaultStyle == value)
return;
if (typeof value == "string")
{
prop_defaultStyle = value;
if (g_bCreated)
{
modifyNodesByType(contentNode, null, "defaultstyle")
_tvpropDefaultStyle.fireChange();
}
}
}
function getHoverStyle()
{
return prop_hoverStyle;
}
function setHoverStyle(value)
{
if (prop_hoverStyle == value)
return;
if (typeof value == "string")
{
prop_hoverStyle = value;
if (g_bCreated)
{
modifyNodesByType(contentNode, null, "hoverstyle")
_tvpropHoverStyle.fireChange();
}
}
}
function getSelectedStyle()
{
return prop_selectedStyle;
}
function setSelectedStyle(value)
{
if (prop_selectedStyle == value)
return;
if (typeof value == "string")
{
prop_selectedStyle = value;
if (g_bCreated)
{
modifyNodesByType(contentNode, null, "selectedstyle")
_tvpropSelectedStyle.fireChange();
}
}
}
function getChildType()
{
return prop_childType;
}
function setChildType(value)
{
if (prop_childType != value)
{
prop_childType = value;
if (g_bCreated)
{
var col = contentNode.children.tags("treenode");
for (var i = 0; i < col.length; i++)
buildTree(col[i], 0);
_tvpropChildType.fireChange();
}
}
}
function getImageUrl()
{
return prop_imageUrl;
}
function setImageUrl(value)
{
if (prop_imageUrl != value)
{
prop_imageUrl = value;
if (g_bCreated)
{
modifyNodesInheritingFromRoot(contentNode, "imageurl", value);
_tvpropImageUrl.fireChange();
}
}
}
function getSelectedImageUrl()
{
return prop_selectedImageUrl;
}
function setSelectedImageUrl(value)
{
if (prop_selectedImageUrl != value)
{
prop_selectedImageUrl = value;
if (g_bCreated)
{
modifyNodesInheritingFromRoot(contentNode, "selectedimageurl", value);
_tvpropSelectedImageUrl.fireChange();
}
}
}
function getExpandedImageUrl()
{
return prop_expandedImageUrl;
}
function setExpandedImageUrl(value)
{
if (prop_expandedImageUrl != value)
{
prop_expandedImageUrl = value;
if (g_bCreated)
{
modifyNodesInheritingFromRoot(contentNode, "expandedimageurl", value);
_tvpropExpandedImageUrl.fireChange();
}
}
}
function getTarget()
{
return prop_target;
}
function setTarget(value)
{
if (prop_target != value)
{
prop_target = value;
if (g_bCreated)
{
modifyNodesInheritingFromRoot(contentNode, "target", value);
_tvpropTarget.fireChange();
}
}
}
function getTreeNodeSrc()
{
return prop_treeNodeSrc;
}
function setTreeNodeSrc(value)
{
if (prop_treeNodeSrc != value)
{

⌨️ 快捷键说明

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