📄 bs_treeelement.class.js
字号:
}}if (this.hasVisibleChildren()) {var lookAhead = this._tree.lookAhead;var treeElm = this;for (var j=0; j<treeElm._children.length; j++) {if (typeof(treeElm._children[j]._undoneChildren) == 'object') {for (var k=0; k<treeElm._children[j]._undoneChildren.length; k++) {var newE = this._tree._createTreeElement(treeElm._children[j]._undoneChildren[k], treeElm._children[j]._level +1);treeElm._children[j].addChild(newE);}treeElm._children[j]._undoneChildren = false;}if (treeElm._children[j].hasVisibleChildren()) {var doRender = false;for (var k=0; k<treeElm._children[j]._children.length; k++) {if (!treeElm._children[j]._children[k]._isOutrendered) {var doRender = true;break;}}if (doRender) {treeElm._children[j].render(true, true, lookAhead);}}}}}this._renderParentsUp = function() {if (typeof(this.parent) == 'undefined') this.parent._renderParentsUp();if (this._isOutrendered) return;this.render(true, true);}this.close = function() {if (!this.isOpen) return;this.isOpen = false;if (this._isOutrendered) {var d = document.getElementById(this._tree._objectId + '_e_' + this.id + '_children');d.style.display = 'none';this._switchIconsOnToggleOpenClose();} else {this.render(true, true);}}this._switchIconsOnToggleOpenClose = function() {var openClose = document.getElementById(this._tree._objectId + '_e_' + this.id + '_openClose');openClose.src = this._getSourceOpenCloseIcon();if (this._getVar('useFolderIcon')) {var folderIconId = this._tree._objectId + '_e_' + this.id + '_folder';var fIcon = document.getElementById(folderIconId);if (fIcon) {fIcon.src = this._getSourceFolderIcon();}}}this._getSourceOpenCloseIcon = function() {if (this.hasSiblingsDown()) {var imgNumber = 3;} else {var imgNumber = 2;}if (this.hasVisibleChildren()) {if ((this._level == 0) || (!this._tree.showPseudoElement && (this._level == 1) && ((this._tree.useAutoSequence && (this.id == 1)) || (!this._tree.useAutoSequence && true)))) {if (this.hasSiblingsDown()) {imgNumber++;} else {imgNumber--;}}if (this.isOpen) {var plusImg = 'minus' + imgNumber;var onClick = 'Close';} else {var plusImg = 'plus' + imgNumber;var onClick = 'Open';}} else {var plusImg = 'line' + imgNumber;}var imageDir = this._getVar('imageDir');return imageDir + plusImg + '.gif';}this._getSourceFolderIcon = function() {var imageDir = this._getVar('imageDir');switch (typeof(this.icon)) {case 'undefined':if (this._tree.useLeaf && !this.hasChildren()) {var folderImg = 'leaf';} else {var folderImg = 'folder';folderImg += (this.isOpen) ? 'Open' : 'Closed';}return imageDir + folderImg + '.gif';break;case 'bool':case 'boolean':break;case 'string':if (this.icon != 'false') {var ret = '';if (!this._iconHasPath(this.icon)) ret += imageDir;ret += this.icon;if (!this._iconHasExtension(this.icon)) ret += '.gif';return ret;}}return '';}this.hasChildren = function() {return (this._children.length > 0);}this.hasVisibleChildren = function() {if (!this._children || !(this._children.length > 0)) return false;for (var i=0; i<this._children.length; i++) {if (this._children[i].visible) return true;}return false;}this.numChildren = function() {return this._children.length;}this.childPos = function(id) {for (var i=0; i<this._children.length; i++) {if (this._children[i].id == id) return ++i;}return false;}this.hasSiblings = function() {}this.hasSiblingsDown = function() {try {var tot = this.parent.numChildren();var pos = this.parent.childPos(this.id);return (pos < tot);} catch (e) {return false;}}this.hasSiblingsAbove = function() {}this.getSiblings = function() {try {return this.parent.getChildren();} catch(e) {return new Array;}}this.getChildren = function() {return this._children;}this.getParentId = function() {try {return this.parent.id;} catch (e) {return false;}}this.hasParent = function() {return (this.parent);}this.attachEvent = function(trigger, yourEvent) {if (typeof(this._attachedEvents) == 'undefined') {this._attachedEvents = new Array();}if (typeof(this._attachedEvents[trigger]) == 'undefined') {this._attachedEvents[trigger] = new Array(yourEvent);} else {this._attachedEvents[trigger][this._attachedEvents[trigger].length] = yourEvent;}}this.hasEventAttached = function(trigger) {return ((typeof(this._attachedEvents) != 'undefined') && (typeof(this._attachedEvents[trigger]) != 'undefined'));}this.fireEvent = function(trigger) {var ret = true;if (trigger == 'onClickCaption') {this.setActive();}if ((typeof(this._attachedEvents) != 'undefined') && (typeof(this._attachedEvents[trigger]) != 'undefined')) {var e = this._attachedEvents[trigger];if ((typeof(e) == 'string') || (typeof(e) == 'function')) {e = new Array(e);}for (var i=0; i<e.length; i++) {if (typeof(e[i]) == 'function') {var status = e[i](this);if (status == false) ret = false;} else if (typeof(e[i]) == 'string') { var ev = e[i].replace(/__this\.id__/g, this.id); //replace the string __this.id__ with the actual id. //ev = ev.replace(/__this__/g, 'this'); //replace the string __this__ with 'this'.eval(ev);}}}return ret;}this._addError = function(str) {if (typeof(this._errorArray) == 'undefined') {this._errorArray = new Array(str);} else {this._errorArray[this._errorArray.length] = str;}}this.getLastError = function() {if (typeof(this._errorArray) != 'undefined') {if (this._errorArray.length > 0) {return this._errorArray[this._errorArray.length -1];}}return false;}this._getVar = function(varName) {if (typeof(this[varName]) != 'undefined') {return this[varName];} else {if (this._tree.walkTree && (typeof(this.parent) != 'undefined')) {return this.parent._getVar(varName);} else if (typeof(this._tree[varName]) != 'undefined') {return this._tree[varName];} else {return null;}}}this.onMouseOver = function() {var img = document.getElementById(this._spanId + 'icon');if (!img.swapOver0) {img.swapOver0 = new Image();img.swapOver0.src = this.imgDir + 'enabled_0_over.gif';img.swapOver1 = new Image();img.swapOver1.src = this.imgDir + 'enabled_1_over.gif';img.swapOver2 = new Image();img.swapOver2.src = this.imgDir + 'enabled_2_over.gif';img.swapOut0 = new Image();img.swapOut0.src = this.imgDir + 'enabled_0.gif';img.swapOut1 = new Image();img.swapOut1.src = this.imgDir + 'enabled_1.gif';img.swapOut2 = new Image();img.swapOut2.src = this.imgDir + 'enabled_2.gif';}img.src = img['swapOver' + this.value].src;}this.onMouseOut = function() {var img = document.getElementById(this._spanId + 'icon');img.src = img['swapOut' + this.value].src;}this.setCheckboxValue = function(value, fireEvents, doWalk) {if (typeof(fireEvents) == 'undefined') fireEvents = true;if (typeof(doWalk) == 'undefined') doWalk = true;if (!this.hasChildren()) {value = (value) ? 2 : 0;} else {if (this.isChecked == 0) {if (this._tree.checkboxSystemWalkTree && (this._tree.checkboxSystemWalkTree != 2) && (this._tree.checkboxSystemWalkTree != 3) && this.hasChildren()) {value = 1;}}}this.isChecked = value;this._checkboxObject.setTo(value, true);if (fireEvents) {if (this.hasEventAttached('onChangeCheckbox')) this.fireEvent('onChangeCheckbox');}if (doWalk) {if ((this._tree.checkboxSystemWalkTree == 3) || (this._tree.checkboxSystemWalkTree == 1) || (this._tree.checkboxSystemWalkTree == 4)) {this.parent.updateCheckboxFromChild();}if ((this._tree.checkboxSystemWalkTree == 3) || (this._tree.checkboxSystemWalkTree == 2) || ((this._tree.checkboxSystemWalkTree == 4) && (value == 0))) {this.checkboxUpdateDown(value);}}}this.checkboxEvent = function(value) {if (!this.hasChildren()) {value = (value) ? 2 : 0;} else {if (this.isChecked == 1) {if ((!this._tree.checkboxSystemIfPartlyThenFull) || ((this._tree.checkboxSystemWalkTree) && (this._tree.checkboxSystemWalkTree != 2) && (this._tree.checkboxSystemWalkTree != 3))) {value = 0;} else {value = 2;}} else if (this.isChecked == 0) {if (this._tree.checkboxSystemWalkTree && (this._tree.checkboxSystemWalkTree != 2) && (this._tree.checkboxSystemWalkTree != 3) && this.hasChildren()) {value = 1;}}}this.isChecked = value;this._checkboxObject.setTo(value, true);if (this.hasEventAttached('onChangeCheckbox')) this.fireEvent('onChangeCheckbox');if ((this._tree.checkboxSystemWalkTree == 3) || (this._tree.checkboxSystemWalkTree == 1) || (this._tree.checkboxSystemWalkTree == 4)) {this.parent.updateCheckboxFromChild();}if ((this._tree.checkboxSystemWalkTree == 3) || (this._tree.checkboxSystemWalkTree == 2) || ((this._tree.checkboxSystemWalkTree == 4) && (value == 0))) {this.checkboxUpdateDown(value);}}this.checkboxUpdateDown = function(value) {for (var i=0; i<this._children.length; i++) {this._children[i]._updateCheckboxFromParent(value, true);}}this.updateCheckboxVisually = function() {if (typeof(this._checkboxObject) == 'object') {try {this._checkboxObject.setTo(this.isChecked);} catch (e) {}}}this._updateCheckboxFromParent = function(newValue, recursiveDown) {var backupValue = this.isChecked;this.isChecked = (newValue) ? 2 : 0;var hasChanged = (this.isChecked != backupValue);if (hasChanged) {this.updateCheckboxVisually();if (this.hasEventAttached('onChangeCheckbox')) this.fireEvent('onChangeCheckbox');}if (recursiveDown) this.checkboxUpdateDown(newValue, true);}this.updateCheckboxFromChild = function() {var backupIsChecked = this.isChecked;var numYes = 0;var numNo = 0;var isPartly = false;for (var i=0; i<this._children.length; i++) {if (this._children[i].isChecked == 1) {isPartly = true;this.isChecked = 1;break;} else if (this._children[i].isChecked) {numYes++;} else {numNo++;}if ((numYes > 0) && (numNo > 0)) {break;}}if (!isPartly) {if ((numYes > 0) && (numNo > 0)) {this.isChecked = 1;} else if (numYes > 0) {this.isChecked = 2;} else {this.isChecked = 0;}}if (backupIsChecked != this.isChecked) {this.updateCheckboxVisually();if (this.hasEventAttached('onChangeCheckbox')) this.fireEvent('onChangeCheckbox');}if (typeof(this.parent) == 'object') {this.parent.updateCheckboxFromChild();}}this._updateLevelAndParent = function(treeElement) {if ((typeof(treeElement._children) == 'object') && (treeElement._children.length > 0)) {for (var i=0; i<treeElement._children.length; i++) {treeElement._children[i].parent = treeElement;treeElement._children[i]._level = treeElement._level +1;this._updateLevelAndParent(treeElement._children[i]);}}}this._getLinkStyle = function() {if (typeof(this.linkStyle) != 'undefined') return this.linkStyle;if (typeof(this._tree.linkStyle) != 'undefined') return this._tree.linkStyle;return '';}this._iconHasExtension = function(iconStr) {var iconLower = iconStr.toLowerCase();var iconPos = iconLower.lastIndexOf('.');if (iconPos > -1) {var iconExt = iconLower.substr(iconPos +1);if ((iconExt != 'gif') && (iconExt != 'png') && (iconExt != 'jpg') && (iconExt != 'jpeg')) {return false;}} else {return false;}return true;}this._iconHasPath = function(iconStr) {if (iconStr.indexOf('://') > -1) return true;if (iconStr.substr(0, 1) == '/') return true;return false;}}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -