Pman.Tab.BuilderTree.bjs
[Pman.Builder] / Pman.Tab.BuilderTree.js
1 //<script type="text/javascript">
2
3 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
4
5
6
7 // register the module first
8 Pman.on('beforeload', function()
9 {
10     Pman.register({
11         part :  ["Builder","Tree"],
12         modKey : '001-Pman.Tab.BuilderTree',
13         module : Pman.Tab.BuilderTree,
14         region : 'center',
15         parent : Pman.Tab.BuilderTab,
16         name : "Pman.Tab.BuilderTree",
17         disabled : false, 
18         permname: '' 
19     });
20 });
21
22 Pman.Tab.BuilderTree = new Roo.util.Observable({
23
24     panel : false,
25     disabled : false,
26     parentLayout:  false,
27
28     add : function(parentLayout, region)
29     {
30
31         var _this = this;
32         this.parentLayout = parentLayout;
33
34         this.panel = parentLayout.addxtype({
35             xtype: 'NestedLayoutPanel',
36             xns: Roo,
37             region : 'west',
38             layout : {
39                 xtype: 'BorderLayout',
40                 xns: Roo,
41                 items : [
42                     {
43                         xtype: 'TreePanel',
44                         xns: Roo,
45                         listeners : {
46                             activate : function (_self)
47                             {
48                                 
49                                 _this.tree = _self.tree;
50                                 _this.menu = _self.menu;
51                             
52                                 if (_this.hasMouseEvent) {
53                                     return;
54                                 }
55                                 
56                                 _this.hasMouseEvent = true;
57                                  this.el.on('mouseover', function() { _this.isMouseOver= true; });
58                                 this.el.on('mouseout', function() { _this.isMouseOver = false; });
59                             
60                             }
61                         },
62                         region : 'center',
63                         tree : {
64                             xtype: 'TreePanel',
65                             xns: Roo.tree,
66                             listeners : {
67                                 beforenodedrop : function (e)
68                                 {
69                                     
70                                     return Pman.Builder.Tree.handleDropNode(e);      
71                                 
72                                 },
73                                 click : function (node, e)
74                                 {
75                                       e.preventDefault();
76                                                        // console.log(e.button);
77                                         Pman.BuilderTree.setCurrentNode(node);
78                                         
79                                     
80                                         
81                                 
82                                 },
83                                 contextmenu : function (node, e)
84                                 {
85                                     e.stopEvent();
86                                         
87                                     this.getSelectionModel().select(node);
88                                      Pman.Builder.Tree.setCurrentNode(node);
89                                      
90                                           _this.menu = Roo.factory(_this.menu);
91                                 
92                                         _this.menu.show(node.ui.textNode, 'tr');
93                                      return;
94                                      
95                                      /*
96                                     var xt = node.elConfig.xtype;
97                                     var altx= false;
98                                     if (typeof(node.elConfig['*prop']) != 'undefined') {
99                                         altx = node.parentNode.elConfig.xtype +'.' + node.elConfig['*prop'];
100                                     }
101                                     var mn = Pman.Tab.BuilderPalete.getMenu(xt,altx);
102                                     
103                                     
104                                     if (mn) {
105                                         mn.show(e.getTarget());
106                                     }
107                                     
108                                  */
109                                 
110                                 },
111                                 nodedragover : function (e)
112                                 {
113                                     
114                                         return Pman.Builder.Tree.handleDragOver(e);      
115                                  
116                                      
117                                    
118                                 }
119                             },
120                             animate : false,
121                             containerScroll : true,
122                             ddGroup : 'component',
123                             enableDD : true,
124                             rootVisible : true,
125                             renderer : function(n) { return n.text; },
126                             toJS : function(n)
127                             {
128                                 if (!n) {
129                                     return this.toJS(this.root);
130                                 }
131                                 var _this = this;
132                                 var ret = this.cloneConfig(n.elConfig);
133                                 if (n.childNodes.length) {
134                                     ret.items = [];
135                                     n.eachChild(function(cn) {
136                                         ret.items.push(_this.toJS(cn));
137                                     });
138                                         
139                                 }
140                                 return ret;
141                                   
142                                  
143                             },
144                             sm : {
145                                 xtype: 'DefaultSelectionModel',
146                                 xns: Roo.tree
147                             },
148                             root : {
149                                 xtype: 'TreeNode',
150                                 xns: Roo.tree,
151                                 text : "Part",
152                                 elConfig : function() {
153                                     return  {
154                                          xtype : '*top',
155                                             
156                                             app : 'TestApp',
157                                             // perm
158                                             // permtype
159                                             modkey : 0,
160                                             '|module' :  '',
161                                             region : 'center',
162                                             '|parent' : 'Pman',
163                                             name : "Module Name",
164                                             items: [] 
165                                 
166                                     
167                                     }
168                                 }
169                             }
170                         },
171                         menu : {
172                             xtype: 'Menu',
173                             xns: Roo.menu,
174                             items : [
175                                 {
176                                     xtype: 'Item',
177                                     xns: Roo.menu,
178                                     listeners : {
179                                         click : function (_self)
180                                         {
181                                             Roo.MessageBox.confirm("Confirm", "Are you sure you want to delete that node?",
182                                                 function(r) {
183                                                     if (r!='yes') {
184                                                         return;
185                                                     }
186                                                     _this.tree.deleteCurrent();
187                                                 }
188                                             );
189                                                 
190                                         }
191                                     },
192                                     text : "Delete Node"
193                                 },
194                                 {
195                                     xtype: 'Item',
196                                     xns: Roo.menu,
197                                     text : "Save as template"
198                                 }
199                             ]
200                         }
201                     }
202                 ],
203                 center : {
204                     xtype: 'LayoutRegion',
205                     xns: Roo
206                 },
207                 south : {
208                     xtype: 'LayoutRegion',
209                     xns: Roo,
210                     height : 300,
211                     split : true
212                 }
213             }
214         });
215         this.layout = this.panel.layout;
216
217     }
218 });