Pman.Tab.AdminContactsGroup.js
[Pman.Admin] / Pman.Tab.AdminContactsGroup.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         modKey : '001-Pman.Tab.AdminContactsGroup',
12         module : Pman.Tab.AdminContactsGroup,
13         region : 'west',
14         parent : Pman.Tab.AdminContactsManager,
15         name : "Pman.Tab.AdminContactsGroup",
16         disabled : false, 
17         permname: '' 
18     });
19 });
20
21 Pman.Tab.AdminContactsGroup = new Roo.util.Observable({
22
23     panel : false,
24     disabled : false,
25     parentLayout:  false,
26
27     add : function(parentLayout, region)
28     {
29
30         var _this = this;
31         this.parentLayout = parentLayout;
32
33         this.panel = parentLayout.addxtype({
34             xtype: 'GridPanel',
35             xns: Roo,
36             title : "Groups",
37             fitToframe : true,
38             fitContainer : true,
39             tableName : 'Groups',
40             background : true,
41             region : 'center',
42             listeners : {
43                 activate : function() {
44                     _this.panel = this;
45                     if (_this.grid) {
46                         _this.grid.footer.onClick('first');
47                     }
48                 }
49             },
50             grid : {
51                 xtype: 'Grid',
52                 xns: Roo.grid,
53                 listeners : {
54                     render : function() 
55                     {
56                         _this.grid = this; 
57                         //_this.dialog = Pman.Dialog.FILL_IN
58                         if (_this.panel.active) {
59                            this.footer.onClick('first');
60                         }
61                     },
62                     rowdblclick : function (_self, rowIndex, e)
63                     {
64                         if (!_this.dialog) return;
65                         _this.dialog.show( this.getDataSource().getAt(rowIndex), function() {
66                             _this.grid.footer.onClick('first');
67                         }); 
68                     }
69                 },
70                 autoExpandColumn : 'name',
71                 ddGroup : 'groupDD',
72                 enableDrop : true,
73                 loadMask : true,
74                 dataSource : {
75                     xtype: 'Store',
76                     xns: Roo.data,
77                     remoteSort : true,
78                     sortInfo : { field : 'name', direction: 'ASC' },
79                     listeners : {
80                         beforeload : function (_self, options)
81                         {
82                         
83                         }
84                     },
85                     proxy : {
86                         xtype: 'HttpProxy',
87                         xns: Roo.data,
88                         method : 'GET',
89                         url : baseURL + '/Roo/Groups.php'
90                     },
91                     reader : {
92                         xtype: 'JsonReader',
93                         xns: Roo.data,
94                         totalProperty : 'total',
95                         root : 'data',
96                         id : 'id',
97                         fields : [
98                             {
99                                 'name': 'id',
100                                 'type': 'int'
101                             },
102                             {
103                                 'name': 'name',
104                                 'type': 'string'
105                             },
106                             {
107                                 'name': 'type',
108                                 'type': 'int'
109                             },
110                             {
111                                 'name': 'leader',
112                                 'type': 'int'
113                             },
114                             {
115                                 'name': 'leader_id',
116                                 'type': 'int'
117                             },
118                             {
119                                 'name': 'leader_office_id',
120                                 'type': 'int'
121                             },
122                             {
123                                 'name': 'leader_name',
124                                 'type': 'string'
125                             },
126                             {
127                                 'name': 'leader_phone',
128                                 'type': 'string'
129                             },
130                             {
131                                 'name': 'leader_fax',
132                                 'type': 'string'
133                             },
134                             {
135                                 'name': 'leader_email',
136                                 'type': 'string'
137                             },
138                             {
139                                 'name': 'leader_company_id',
140                                 'type': 'int'
141                             },
142                             {
143                                 'name': 'leader_role',
144                                 'type': 'string'
145                             },
146                             {
147                                 'name': 'leader_active',
148                                 'type': 'int'
149                             },
150                             {
151                                 'name': 'leader_remarks',
152                                 'type': 'string'
153                             },
154                             {
155                                 'name': 'leader_passwd',
156                                 'type': 'string'
157                             },
158                             {
159                                 'name': 'leader_owner_id',
160                                 'type': 'int'
161                             },
162                             {
163                                 'name': 'leader_lang',
164                                 'type': 'string'
165                             },
166                             {
167                                 'name': 'leader_no_reset_sent',
168                                 'type': 'int'
169                             },
170                             {
171                                 'name': 'leader_action_type',
172                                 'type': 'string'
173                             },
174                             {
175                                 'name': 'leader_project_id',
176                                 'type': 'int'
177                             }
178                         ]
179                     }
180                 },
181                 toolbar : {
182                     xtype: 'Toolbar',
183                     xns: Roo,
184                     items : [
185                         {
186                             xtype: 'Button',
187                             xns: Roo.Toolbar,
188                             text : "Manage Groups",
189                             menu : {
190                                 xtype: 'Menu',
191                                 xns: Roo.menu,
192                                 items : [
193                                     {
194                                         xtype: 'Item',
195                                         xns: Roo.menu,
196                                         listeners : {
197                                             click : function()
198                                             {
199                                                 if (!_this.dialog) return;
200                                                 _this.dialog.show( { id : 0 } , function() {
201                                                      _this.grid.ds.load({});
202                                                }); 
203                                             }
204                                         },
205                                         cls : 'x-btn-text-icon',
206                                         text : "Add",
207                                         icon : Roo.rootURL + 'images/default/dd/drop-add.gif'
208                                     },
209                                     {
210                                         xtype: 'Item',
211                                         xns: Roo.menu,
212                                         listeners : {
213                                             click : function()
214                                             {
215                                                 var s = _this.grid.getSelectionModel().getSelections();
216                                                 if (!s.length || (s.length > 1))  {
217                                                     Roo.MessageBox.alert("Error", s.length ? "Select only one Row" : "Select a Row");
218                                                     return;
219                                                 }
220                                                 if (!_this.dialog) return;
221                                                 _this.dialog.show(s[0].data, function() {
222                                                      _this.grid.ds.load({});
223                                                 }); 
224                                                 
225                                             }
226                                         },
227                                         cls : 'x-btn-text-icon',
228                                         text : "Edit",
229                                         icon : Roo.rootURL + 'images/default/tree/leaf.gif'
230                                     },
231                                     {
232                                         xtype: 'Item',
233                                         xns: Roo.menu,
234                                         listeners : {
235                                             click : function()
236                                             {
237                                                  Pman.genericDelete(_this, 'Groups'); 
238                                             }
239                                         },
240                                         cls : 'x-btn-text-icon',
241                                         text : "Delete",
242                                         icon : rootURL + '/Pman/templates/images/trash.gif'
243                                     },
244                                     {
245                                         xtype: 'Separator',
246                                         xns: Roo.menu
247                                     },
248                                     {
249                                         xtype: 'Item',
250                                         xns: Roo.menu,
251                                         listeners : {
252                                             click : function (_self, e)
253                                             {
254                                               _this.grid.ds.load({});
255                                             }
256                                         },
257                                         text : "Reload"
258                                     }
259                                 ]
260                             }
261                         }
262                     ]
263                 },
264                 colModel : [
265                     {
266                         xtype: 'ColumnModel',
267                         xns: Roo.grid,
268                         header : 'Name',
269                         width : 200,
270                         dataIndex : 'name',
271                         renderer : function(v) { return String.format('{0}', v); }
272                     }
273                 ]
274             }
275         });
276         this.layout = this.panel.layout;
277
278     }
279 });