📄 ig_webtree.js
字号:
return;
var src=igtree_getElementById(igtree_editControl.getAttribute("currentNode"));
var node=igtree_getNodeById(src.id);
src=igtree_getNodeSpan(src);
if(igtree_fireEvent(tn,igtree_treeState[tn].Events.EditKeyUp,"(\""+tn+"\",\""+node.getElement().id+"\","+evnt.keyCode+")"))
return;
if(igtree_IE)
evnt.cancelBubble=true;
}
// private - Initializes a Node object with properties and method references
function igtree_initNode(node)
{
this.element=node;
this.Element=node;
this.Id = node.id;
this.WebTree = igtree_getTreeByNodeId(this.Element.id);
this.getTreeId=igtree_getTreeId;
this.getElement=igtree_getElement;
this.getText=igtree_getText;
this.setText=igtree_setText;
this.getClass=igtree_getClass;
this.setClass=igtree_setClass;
this.getTag=igtree_getTag;
this.setTag=igtree_setTag;
this.getDataKey=igtree_getDataKey;
this.getHiliteClass=igtree_getHiliteClass;
this.setHiliteClass=igtree_setHiliteClass;
this.getHoverClass=igtree_getHoverClass;
this.setHoverClass=igtree_setHoverClass;
this.getEnabled=igtree_getEnabled;
this.setEnabled=igtree_setEnabled;
this.getTargetFrame=igtree_getTargetFrame;
this.setTargetFrame=igtree_setTargetFrame;
this.getTargetUrl=igtree_getTargetUrl;
this.setTargetUrl=igtree_setTargetUrl;
this.hasChildren=igtree_hasChildren;
this.getExpanded=igtree_getExpanded;
this.setExpanded=igtree_setExpanded;
this.getSelected=igtree_getSelected;
this.setSelected=igtree_setSelected;
this.getChecked=igtree_getChecked;
this.setChecked=igtree_setChecked;
this.hasCheckbox=igtree_hasCheckbox;
this.getNextSibling=igtree_getNodeNextSibling;
this.getPrevSibling=igtree_getNodePrevSibling;
this.getFirstChild=igtree_getNodeFirstChild;
this.getParent=igtree_getNodeParent;
this.getChildNodes=igtree_getChildNodes;
this.getLevel = function () {
var nodeName=this.element.id.split("_")
if(nodeName.length>1)
{
return nodeName.length - 2;
}
}
this.getIndex = function () {
var index=0;
var nodeName=this.element.id.split("_")
if(nodeName.length>1)
{
index = parseInt(nodeName[nodeName.length-1]);
return index-1;
}
}
this.update = function (propName, propValue) {
if(this.WebTree.suspendUpdates == true)
return;
if(propName == 'Remove') {
var nodestate = ig_ClientState.addNode(this.WebTree.nodeState, this.Id);
ig_ClientState.setPropertyValue(nodestate,propName,propValue);
}
else {
if(this.nodeState == null)
this.nodeState = ig_ClientState.addNode(this.WebTree.nodeState, this.Id);
ig_ClientState.setPropertyValue(this.nodeState,propName,propValue);
}
if(this.WebTree.postField!=null)
this.WebTree.postField.value = ig_ClientState.getText(this.WebTree.stateItems);
}
this.insertChild=function(beforeIndex, text, className) {
return this.WebTree._insert(this, beforeIndex, text, className);
}
this.addChild=function(text, className) {
return this.WebTree._insert(this, -1, text, className);
}
this.removeChild=function(index) {
var node = this.getNodes()[index];
if(node)
node.remove();
ig_dispose(node);
}
this.edit=function() {
igtree_beginedit(this.WebTree.Id,this.Id)
}
this.scrollIntoView=function() {
igtree_scrollToView(this.WebTree.Element,this.Element)
}
this.remove=function() {
var nodeArrayDeletionQueue=new Array();
var index = this.getIndex();
var nodeId = this.Element.id;
var removeTop = false;
var nextTop = null;
var prevTop = null;
var tree = this.WebTree;
if(tree._removeProcess == null) {
removeTop = true;
tree._removeProcess = true;
nextTop = this.getNextSibling();
prevTop = this.getPrevSibling();
this.update("Remove", "1");
}
var node = this.getFirstChild();
while(node) {
var next = node.getNextSibling();
node.remove();
node.WebTree=null;
nodeArrayDeletionQueue.push(node);
node = next;
}
ig_dispose(nodeArrayDeletionQueue);
var next = this.Element.nextSibling;
var nParent = this.Element.parentNode;
if (nParent) nParent.removeChild(this.Element);
if(next && next.id.indexOf("M_")==0)
{
nParent = next.parentNode;
if (nParent) nParent.removeChild(next);
}
var parentNode = this.getParent();
if(removeTop == true) {
tree._removeProcess = null;
if(tree.ClassicTree) {
if(nextTop)
igtree_updateNodeLines(tree, nextTop);
if(prevTop)
igtree_updateNodeLines(tree, prevTop);
}
if(!nextTop && !prevTop) {
if(parentNode) {
next = parentNode.Element.nextSibling;
if(next && next.id.indexOf("M_")==0)
{
nParent = next.parentNode;
if (nParent) nParent.removeChild(next);
}
if(tree.ClassicTree)
igtree_updateNodeLines(tree, parentNode);
}
}
}
var nodeElements;
if(parentNode == null) {
nodeElements = igtree_getChildNodeElements(tree, null);
}
else {
nodeElements = igtree_getChildNodeElements(tree, parentNode.Element);
if(nodeElements.length == 0) {
if(!tree.ClassicTree && tree.Expandable) {
if(parentNode.Element.childNodes[1].imgType == "exp") {
parentNode.Element.childNodes[2].innerHTML="";
parentNode.Element.removeChild(parentNode.Element.childNodes[1]);
parentNode.Element.removeChild(parentNode.Element.childNodes[1]);
parentNode.Element.childNodes[0].style.width="16px";
}
}
}
}
var parentId = this.Element.id;
var ptr = parentId.lastIndexOf("_");
parentId = parentId.substring(0, ptr);
igtree_setChildIds(tree, nodeElements, index, parentId);
var selNode = tree.getSelectedNode();
if(selNode && (nodeId == selNode.Id))
tree.setSelectedNode(null);
}
this.isChildOf = function (parent) {
if(parent == null || typeof(parent) != "object")
return false;
if(this.Id.search(parent.Id) == 0)
return true;
return false;
}
}
function igtree_getElement() {
return this.element;
}
function igtree_getTreeId() {
var treeName = this.element.id;
var strArray = treeName.split("_");
treeName = strArray[0];
return treeName;
}
function igtree_getText() {
var e = ig_getNodeTextElement(this);
return e.innerHTML;
}
function igtree_setText(text) {
var e = ig_getNodeTextElement(this);
e.innerHTML=text;
this.update("Text", text);
}
function igtree_getClass() {
var e = ig_getNodeTextElement(this);
return e.className;
}
function igtree_setClass(className) {
var e = ig_getNodeTextElement(this);
var oldClass = e.className;
if(this.WebTree.getSelectedNode() == this)
this.element.setAttribute("igtInitClass",className);
else
e.className=className;
}
function igtree_getTag() {
var a = this.element.getAttribute("igTag");
if(a!=null && a.length>0)
return a;
else
return null;
}
function igtree_setTag(text) {
this.element.setAttribute("igTag", text);
this.update("Tag", text);
}
function igtree_getDataKey() {
var a = this.element.getAttribute("igDataKey");
if(a!=null && a.length>0)
return a;
else
return null;
}
function igtree_getHiliteClass() {
return this.element.getAttribute("HiliteClass")
}
function igtree_setHiliteClass(hiliteClass) {
this.element.setAttribute("HiliteClass", hiliteClass)
}
function igtree_getHoverClass() {
return this.element.getAttribute("HoverClass")
}
function igtree_setHoverClass(hoverClass) {
this.element.setAttribute("HoverClass", hoverClass)
}
function igtree_getEnabled() {
return(this.element.getAttribute("nodeDisabled")?false:true);
}
function igtree_setEnabled(enabled) {
var i;
var nodeSpan = null;
var checkbox = null;
for(i=0; i < this.element.childNodes.length; i++) {
var attrib = this.element.childNodes[i].getAttribute("igTxt");
var chk = this.element.childNodes[i].getAttribute("igChk");
if(chk!=null && chk.length>0)
checkbox = this.element.childNodes[i];
if(attrib=="1")
nodeSpan = this.element.childNodes[i];
}
if(nodeSpan != null) {
if(enabled == true) {
this.element.removeAttribute("nodeDisabled");
var oldClass = nodeSpan.getAttribute("oldEnabledClass");
if(oldClass != null && oldClass.length > 0) {
nodeSpan.className=oldClass;
nodeSpan.removeAttribute("oldEnabledClass");
}
if(checkbox!=null)
checkbox.disabled = false;
}
else {
var ts = igtree_getTreeById(this.getTreeId());
var disabledClass = ts.DisabledClass;
this.element.setAttribute("nodeDisabled", "1");
var oldClass = nodeSpan.className;
nodeSpan.className=disabledClass;
nodeSpan.setAttribute("oldEnabledClass", oldClass);
this.element.removeAttribute("igtInitClass");
if(checkbox!=null)
checkbox.disabled = true;
}
this.update("Enabled", enabled);
}
}
function igtree_getTargetFrame() {
var frame = this.element.getAttribute("igFrame");
if(ig_csom.notEmpty(frame))
return frame;
else
if(ig_csom.notEmpty(this.WebTree.TargetFrame)) {
return this.WebTree.TargetFrame;
}
else
return null;
}
function igtree_setTargetFrame(frame) {
this.element.setAttribute("igFrame", frame)
this.update("TargetFrame", frame);
}
function igtree_getTargetUrl() {
var url = this.element.getAttribute("igUrl");
if(ig_csom.notEmpty(url))
return url;
else
if(ig_csom.notEmpty(this.WebTree.TargetUrl)) {
return this.WebTree.TargetUrl;
}
else
return null;
}
function igtree_setTargetUrl(url) {
this.element.setAttribute("igUrl", url)
this.update("TargetUrl", url);
}
function igtree_setChecked(bChecked, bFireCSOMEvent) {
var node = this.element;
var ts = igtree_getTreeByNodeId(node.id);
var index=1;
var count=node.childNodes.length;
for(index=1;index<count;index++) {
var chk = node.childNodes[index].getAttribute("igChk");
if(chk!=null && chk.length>0)
break;
}
if(index >= count)
return;
eCheck = node.childNodes[index];
if(bChecked==false) {
eCheck.checked=false;
}
else {
eCheck.checked=true;
}
if(bFireCSOMEvent!=false) {
var tn = this.getTreeId();
var nodeId = this.Id;
if(igtree_fireEvent(tn,ts.Events.NodeChecked,"(\""+tn+"\",\""+nodeId+"\", eCheck.checked)")) {
eCheck.checked = oldValue;
return;
}
}
igtree_updateNodeCheck(ts, this.element.id, bChecked);
}
function igtree_getChecked() {
var node = this.element;
var index=1;
var count=node.childNodes.length;
for(index=1;index<count;index++) {
var chk = node.childNodes[index].getAttribute("igChk");
if(chk!=null && chk.length>0)
break;
}
return this.element.childNodes[index].checked;
}
function igtree_hasCheckbox() {
var index;
for(index=1;index<this.element.childNodes.length;index++) {
var chk = this.element.childNodes[index].getAttribute("igChk");
if(chk!=null && chk.length>0)
return true;
}
return false;
}
function igtree_hasChildren() {
if(this.element.nextSibling && this.element.nextSibling.id == "M_"+this.element.id)
return true;
else
return false;
}
function igtree_hasChildrenElements(nodeElement) {
if(nodeElement.nextSibling && nodeElement.nextSibling.id == "M_"+nodeElement.id)
return true;
else
return false;
}
function igtree_getExpanded() {
var expEl=igtree_getElementById("M_"+this.element.id);
if(expEl != null)
return(expEl.style.display!="none");
else
return false;
}
function igtree_setExpanded(expand) {
if(expand == true)
igtree_expandNode(this);
else
igtree_collapseNode(this);
}
function igtree_getSelected() {
var treeName = this.element.id;
var strArray = treeName.split("_");
treeName = strArray[0];
return (this.Element==igtree_selectedNode(treeName));
}
function igtree_setSelected(bSelect) {
var treeName = this.element.id;
var strArray = treeName.split("_");
treeName = strArray[0];
if(bSelect) {
igtree_setSelectedNode(treeName, this.element.id)
}
else {
if(this.Element==igtree_selectedNode(treeName))
igtree_setSelectedNode(treeName, null)
}
}
// private - Initializes an event
function igtree_fireEvent(tn,eventObj,eventString)
{
var ts=igtree_treeState[tn];
var result=false;
if(eventObj[0]!="")
result=eval(eventObj[0]+eventString);
if(ts.TreeLoaded && result!=true && eventObj[1]==1 && !ts.CancelPostBack)
igtree_needPostBack(tn);
ts.CancelPostBack=false;
return result;
}
// private
var igtree_lastActiveTree="";
if(!igtree_IE)
if(window.addEventListener)
window.addEventListener('keydown',igtree_windowKeyDown,false);
// private
function igtree_windowKeyDown(evnt)
{
if(igtree_lastActiveTree!="" && evnt.keyCode!=13)
if(igtree_keydown(evnt,igtree_lastActiveTree)==true)
{
evnt.stopPropagation();
evnt.preventDefault();
}
}
// private
function igtree_initEvent(se)
{
this.target=se;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -