📄 tree.js
字号:
this._onExpandoClick({node:_4f});}}else{this._publish("execute",{item:_4f.item,node:_4f});this.onClick(_4f.item,_4f);this.focusNode(_4f);}dojo.stopEvent(e);},_onExpandoClick:function(_50){var _51=_50.node;this.focusNode(_51);if(_51.isExpanded){this._collapseNode(_51);}else{this._expandNode(_51);}},onClick:function(_52,_53){},onOpen:function(_54,_55){},onClose:function(_56,_57){},_getNextNode:function(_58){if(_58.isExpandable&&_58.isExpanded&&_58.hasChildren()){return _58.getChildren()[0];}else{while(_58&&_58.isTreeNode){var _59=_58.getNextSibling();if(_59){return _59;}_58=_58.getParent();}return null;}},_getRootOrFirstNode:function(){return this.showRoot?this.rootNode:this.rootNode.getChildren()[0];},_collapseNode:function(_5a){if(_5a.isExpandable){if(_5a.state=="LOADING"){return;}_5a.collapse();this.onClose(_5a.item,_5a);if(this.persist&&_5a.item){delete this._openedItemIds[this.model.getIdentity(_5a.item)];this._saveState();}}},_expandNode:function(_5b){if(!_5b.isExpandable){return;}var _5c=this.model,_5d=_5b.item;switch(_5b.state){case "LOADING":return;case "UNCHECKED":_5b.markProcessing();var _5e=this;_5c.getChildren(_5d,function(_5f){_5b.unmarkProcessing();_5b.setChildItems(_5f);_5e._expandNode(_5b);},function(err){console.error(_5e,": error loading root children: ",err);});break;default:_5b.expand();this.onOpen(_5b.item,_5b);if(this.persist&&_5d){this._openedItemIds[_5c.getIdentity(_5d)]=true;this._saveState();}}},blurNode:function(){var _61=this.lastFocused;if(!_61){return;}var _62=_61.labelNode;dojo.removeClass(_62,"dijitTreeLabelFocused");_62.setAttribute("tabIndex","-1");dijit.setWaiState(_62,"selected",false);this.lastFocused=null;},focusNode:function(_63){_63.labelNode.focus();},_onBlur:function(){this.inherited(arguments);if(this.lastFocused){var _64=this.lastFocused.labelNode;dojo.removeClass(_64,"dijitTreeLabelFocused");}},_onTreeFocus:function(_65){if(_65){if(_65!=this.lastFocused){this.blurNode();}var _66=_65.labelNode;_66.setAttribute("tabIndex","0");dijit.setWaiState(_66,"selected",true);dojo.addClass(_66,"dijitTreeLabelFocused");this.lastFocused=_65;}},_onItemDelete:function(_67){var _68=this.model.getIdentity(_67);var _69=this._itemNodeMap[_68];if(_69){var _6a=_69.getParent();if(_6a){_6a.removeChild(_69);}delete this._itemNodeMap[_68];_69.destroyRecursive();}},_onItemChange:function(_6b){var _6c=this.model,_6d=_6c.getIdentity(_6b),_6e=this._itemNodeMap[_6d];if(_6e){_6e.setLabelNode(this.getLabel(_6b));_6e._updateItemClasses(_6b);}},_onItemChildrenChange:function(_6f,_70){var _71=this.model,_72=_71.getIdentity(_6f),_73=this._itemNodeMap[_72];if(_73){_73.setChildItems(_70);}},_onItemDelete:function(_74){var _75=this.model,_76=_75.getIdentity(_74),_77=this._itemNodeMap[_76];if(_77){_77.destroyRecursive();delete this._itemNodeMap[_76];}},_saveState:function(){if(!this.persist){return;}var ary=[];for(var id in this._openedItemIds){ary.push(id);}dojo.cookie(this.cookieName,ary.join(","),{expires:365});},destroy:function(){if(this.rootNode){this.rootNode.destroyRecursive();}if(this.dndController&&!dojo.isString(this.dndController)){this.dndController.destroy();}this.rootNode=null;this.inherited(arguments);},destroyRecursive:function(){this.destroy();},_createTreeNode:function(_7a){return new dijit._TreeNode(_7a);}});dojo.declare("dijit.tree.TreeStoreModel",null,{store:null,childrenAttrs:["children"],labelAttr:"",root:null,query:null,constructor:function(_7b){dojo.mixin(this,_7b);this.connects=[];var _7c=this.store;if(!_7c.getFeatures()["dojo.data.api.Identity"]){throw new Error("dijit.Tree: store must support dojo.data.Identity");}if(_7c.getFeatures()["dojo.data.api.Notification"]){this.connects=this.connects.concat([dojo.connect(_7c,"onNew",this,"_onNewItem"),dojo.connect(_7c,"onDelete",this,"_onDeleteItem"),dojo.connect(_7c,"onSet",this,"_onSetItem")]);}},destroy:function(){dojo.forEach(this.connects,dojo.disconnect);},getRoot:function(_7d,_7e){if(this.root){_7d(this.root);}else{this.store.fetch({query:this.query,onComplete:dojo.hitch(this,function(_7f){if(_7f.length!=1){throw new Error(this.declaredClass+": query "+dojo.toJson(this.query)+" returned "+_7f.length+" items, but must return exactly one item");}this.root=_7f[0];_7d(this.root);}),onError:_7e});}},mayHaveChildren:function(_80){return dojo.some(this.childrenAttrs,function(_81){return this.store.hasAttribute(_80,_81);},this);},getChildren:function(_82,_83,_84){var _85=this.store;var _86=[];for(var i=0;i<this.childrenAttrs.length;i++){var _88=_85.getValues(_82,this.childrenAttrs[i]);_86=_86.concat(_88);}var _89=0;dojo.forEach(_86,function(_8a){if(!_85.isItemLoaded(_8a)){_89++;}});if(_89==0){_83(_86);}else{var _8b=function _8b(_8c){if(--_89==0){_83(_86);}};dojo.forEach(_86,function(_8d){if(!_85.isItemLoaded(_8d)){_85.loadItem({item:_8d,onItem:_8b,onError:_84});}});}},getIdentity:function(_8e){return this.store.getIdentity(_8e);},getLabel:function(_8f){if(this.labelAttr){return this.store.getValue(_8f,this.labelAttr);}else{return this.store.getLabel(_8f);}},newItem:function(_90,_91){var _92={parent:_91,attribute:this.childrenAttrs[0]};return this.store.newItem(_90,_92);},pasteItem:function(_93,_94,_95,_96){var _97=this.store,_98=this.childrenAttrs[0];if(_94){dojo.forEach(this.childrenAttrs,function(_99){if(_97.containsValue(_94,_99,_93)){if(!_96){var _9a=dojo.filter(_97.getValues(_94,_99),function(x){return x!=_93;});_97.setValues(_94,_99,_9a);}_98=_99;}});}if(_95){_97.setValues(_95,_98,_97.getValues(_95,_98).concat(_93));}},onChange:function(_9c){},onChildrenChange:function(_9d,_9e){},onDelete:function(_9f,_a0){},_onNewItem:function(_a1,_a2){if(!_a2){return;}this.getChildren(_a2.item,dojo.hitch(this,function(_a3){this.onChildrenChange(_a2.item,_a3);}));},_onDeleteItem:function(_a4){this.onDelete(_a4);},_onSetItem:function(_a5,_a6,_a7,_a8){if(dojo.indexOf(this.childrenAttrs,_a6)!=-1){this.getChildren(_a5,dojo.hitch(this,function(_a9){this.onChildrenChange(_a5,_a9);}));}else{this.onChange(_a5);}}});dojo.declare("dijit.tree.ForestStoreModel",dijit.tree.TreeStoreModel,{rootId:"$root$",rootLabel:"ROOT",query:null,constructor:function(_aa){this.root={store:this,root:true,id:_aa.rootId,label:_aa.rootLabel,children:_aa.rootChildren};},mayHaveChildren:function(_ab){return _ab===this.root||this.inherited(arguments);},getChildren:function(_ac,_ad,_ae){if(_ac===this.root){if(this.root.children){_ad(this.root.children);}else{this.store.fetch({query:this.query,onComplete:dojo.hitch(this,function(_af){this.root.children=_af;_ad(_af);}),onError:_ae});}}else{this.inherited(arguments);}},getIdentity:function(_b0){return (_b0===this.root)?this.root.id:this.inherited(arguments);},getLabel:function(_b1){return (_b1===this.root)?this.root.label:this.inherited(arguments);},newItem:function(_b2,_b3){if(_b3===this.root){this.onNewRootItem(_b2);return this.store.newItem(_b2);}else{return this.inherited(arguments);}},onNewRootItem:function(_b4){},pasteItem:function(_b5,_b6,_b7,_b8){if(_b6===this.root){if(!_b8){this.onLeaveRoot(_b5);}}dijit.tree.TreeStoreModel.prototype.pasteItem.call(this,_b5,_b6===this.root?null:_b6,_b7===this.root?null:_b7);if(_b7===this.root){this.onAddToRoot(_b5);}},onAddToRoot:function(_b9){},onLeaveRoot:function(_ba){},_requeryTop:function(){var _bb=this.root.children||[];this.store.fetch({query:this.query,onComplete:dojo.hitch(this,function(_bc){this.root.children=_bc;if(_bb.length!=_bc.length||dojo.some(_bb,function(_bd,idx){return _bc[idx]!=_bd;})){this.onChildrenChange(this.root,_bc);}})});},_onNewItem:function(_bf,_c0){this._requeryTop();this.inherited(arguments);},_onDeleteItem:function(_c1){if(dojo.indexOf(this.root.children,_c1)!=-1){this._requeryTop();}this.inherited(arguments);}});}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -