178. }
179. if(!navEditor){
180. navEditor = new Ext.tree.TreeEditor(nav, {
181. allowBlank : false, 182. ignoreNoChange : true,
183. blankText : '标题不能为空', 184. selectOnFocus : true 185. }); 186. }
187. this.setLeafMenu(); 188. this.setDirMenu(); 189. },
190. setMgr : function(manager){ 191. mgr = manager; 192. },
193. getMgr : function(){ 194. return mgr; 195. },
196. setLeafMenu: function(){ 197. // 设置叶子菜单 198. if(!leafMenu){
199. leafMenu = new Ext.menu.Menu({ 200. items : [{
201. text : \修改标题\202. handler : function() {
203. navEditor.triggerEdit(nodeSelected);
204. } 205. }, \
206. text : \编辑\
207. handler : function() {
208. FormEditWin.showEditLeafWin(nodeSelected);
209. } 210. }, \
211. text : \删除\
212. handler : this.delTreeItemComfirm
213. }] 214. }); 215. } 216. },
217. setDirMenu: function(){
218. // 设置目录菜单 219. if(!dirMenu){
220. dirMenu = new Ext.menu.Menu({ 221. items : [{
222. text : \修改标题\223. handler : function() {
224. navEditor.triggerEdit(nodeSelected);
225. } 226. }, \
227. text : \228. handler : function() {
229. FormEditWin.showEditDirWin(nodeSelected);
230. } 231. }, \
232. text : \233. handler : function() {
234. FormEditWin.showAddLeafWin(nodeSelected);
235. } 236. }, \
237. text : \238. handler : function() {
239. FormEditWin.showAddDirWin(nodeSelected);
240. } 241. }, \
242. text : \243. handler : this.delTreeItemComfirm
244. }] 245. }); 246. } 247. },
248. showTreeMenu : function(node, e){ 249. nodeSelected = node; 250. nodeSelected.select(); 251. if (node.isLeaf()) { 252. // 253. leafMenu.showAt(e.getPoint()); 254. } else {
255. // 256. dirMenu.showAt(e.getPoint());
编辑\
添加叶子节点\添加目录节点\删除\
显示叶子节点菜单
显示目录节点菜单
257. } 258. },
259. delTreeItemComfirm : function(){
260. Ext.Msg.confirm(\确认删除\确定要删除所选节点吗?\
261. if (btn == \
262. NavTree.delTreeItem(); 263. } 264. }); 265. },
266. delTreeItem : function(){
267. if (nodeSelected != nav.getRootNode()) { 268. removeFlag = true; 269. nodeSelected.remove(); 270. removeFlag = false; 271. } else {
272. Ext.Msg.alert(\警告\不能删除树的根节点!\
273. } 274. },
275. show : function(){
276. nav.render(Ext.getBody()); 277. nav.getRootNode().toggle(); 278. } 279. } 280. }(); 281.
282. // 文档加载完毕执行 283. Ext.onReady(function(){
284. Ext.BLANK_IMAGE_URL = \/default/s.gif\
285. if(typeof(NavigateManager)==\
286. Ext.Msg.alert(\警告提示\请先设置DWR,并实例化NavigateManager\287. }else{
288. NavTree.setMgr(NavigateManager); 289. NavTree.init(); 290. NavTree.show(); 291. } 292. });
dwr配置: dwr.xml Xml代码
1.
2. 3.
4.
5.
6. 8. value=\r\> 9. 10.
servlet配置: web.xml Xml代码
1. 2. 3. xmlns=\ 4. xmlns:xsi=\ 5. xsi:schemaLocation=\6. http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd\> 7. 8. 10. com.demo.navigate.web.NavigateJsonServlet 11. 12. 13. 14. 16. com.demo.navigate.web.NavigateEditServlet 17. 18. 19. 20. 22. com.demo.navigate.web.NavigateSaveServlet 23. 24. 25. 26. 30. 34. 38. 39. 40. 41. 45. 46. allowGetForSafariButMakeForgeryEasier 47. 48. 50. 52. 53. 57.