|
Struts example source code file (TreeWithNode.js)
The Struts TreeWithNode.js source code/* Copyright (c) 2004-2006, The Dojo Foundation All Rights Reserved. Licensed under the Academic Free License version 2.1 or above OR the modified BSD license. For more information on Dojo licensing, see: http://dojotoolkit.org/community/licensing.shtml */ dojo.require("dojo.lang.declare"); dojo.provide("dojo.widget.TreeWithNode"); dojo.declare("dojo.widget.TreeWithNode", null, function () { }, {loadStates:{UNCHECKED:"UNCHECKED", LOADING:"LOADING", LOADED:"LOADED"}, state:"UNCHECKED", objectId:"", isContainer:true, lockLevel:0, lock:function () { this.lockLevel++; }, unlock:function () { if (!this.lockLevel) { dojo.raise(this.widgetType + " unlock: not locked"); } this.lockLevel--; }, expandLevel:0, loadLevel:0, hasLock:function () { return this.lockLevel > 0; }, isLocked:function () { var node = this; while (true) { if (node.lockLevel) { return true; } if (!node.parent || node.isTree) { break; } node = node.parent; } return false; }, flushLock:function () { this.lockLevel = 0; }, actionIsDisabled:function (action) { var disabled = false; if (dojo.lang.inArray(this.actionsDisabled, action)) { disabled = true; } if (this.isTreeNode) { if (!this.tree.allowAddChildToLeaf && action == this.actions.ADDCHILD && !this.isFolder) { disabled = true; } } return disabled; }, actionIsDisabledNow:function (action) { return this.actionIsDisabled(action) || this.isLocked(); }, setChildren:function (childrenArray) { if (this.isTreeNode && !this.isFolder) { this.setFolder(); } else { if (this.isTreeNode) { this.state = this.loadStates.LOADED; } } var hadChildren = this.children.length > 0; if (hadChildren && childrenArray) { this.destroyChildren(); } if (childrenArray) { this.children = childrenArray; } var hasChildren = this.children.length > 0; if (this.isTreeNode && hasChildren != hadChildren) { this.viewSetHasChildren(); } for (var i = 0; i < this.children.length; i++) { var child = this.children[i]; if (!(child instanceof dojo.widget.Widget)) { child = this.children[i] = this.tree.createNode(child); var childWidgetCreated = true; } else { var childWidgetCreated = false; } if (!child.parent) { child.parent = this; if (this.tree !== child.tree) { child.updateTree(this.tree); } child.viewAddLayout(); this.containerNode.appendChild(child.domNode); var message = {child:child, index:i, parent:this, childWidgetCreated:childWidgetCreated}; delete dojo.widget.manager.topWidgets[child.widgetId]; dojo.event.topic.publish(this.tree.eventNames.afterAddChild, message); } if (this.tree.eagerWidgetInstantiation) { dojo.lang.forEach(this.children, function (child) { child.setChildren(); }); } } }, doAddChild:function (child, index) { return this.addChild(child, index, true); }, addChild:function (child, index, dontPublishEvent) { if (dojo.lang.isUndefined(index)) { index = this.children.length; } if (!child.isTreeNode) { dojo.raise("You can only add TreeNode widgets to a " + this.widgetType + " widget!"); return; } this.children.splice(index, 0, child); child.parent = this; child.addedTo(this, index, dontPublishEvent); delete dojo.widget.manager.topWidgets[child.widgetId]; }, onShow:function () { this.animationInProgress = false; }, onHide:function () { this.animationInProgress = false; }}); Other Struts examples (source code examples)Here is a short list of links related to this Struts TreeWithNode.js source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.