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                     listeners : {
78                         beforeload : function (_self, o)
79                         {
80                             o.params = o.params || {};
81                             o.params.type =2;
82                         },
83                         load : function (_self, records, options)
84                         {
85                         
86                         }
87                     },
88                     remoteSort : true,
89                     sortInfo : { field : 'name', direction: 'ASC' },
90                     proxy : {
91                         xtype: 'HttpProxy',
92                         xns: Roo.data,
93                         method : 'GET',
94                         url : baseURL + '/Roo/Groups.php'
95                     },
96                     reader : {
97                         xtype: 'JsonReader',
98                         xns: Roo.data,
99                         totalProperty : 'total',
100                         root : 'data',
101                         id : 'id',
102                         fields : [
103                             {
104                                 'name': 'id',
105                                 'type': 'int'
106                             },
107                             {
108                                 'name': 'name',
109                                 'type': 'string'
110                             },
111                             {
112                                 'name': 'type',
113                                 'type': 'int'
114                             },
115                             {
116                                 'name': 'leader',
117                                 'type': 'int'
118                             },
119                             {
120                                 'name': 'leader_id',
121                                 'type': 'int'
122                             },
123                             {
124                                 'name': 'leader_office_id',
125                                 'type': 'int'
126                             },
127                             {
128                                 'name': 'leader_name',
129                                 'type': 'string'
130                             },
131                             {
132                                 'name': 'leader_phone',
133                                 'type': 'string'
134                             },
135                             {
136                                 'name': 'leader_fax',
137                                 'type': 'string'
138                             },
139                             {
140                                 'name': 'leader_email',
141                                 'type': 'string'
142                             },
143                             {
144                                 'name': 'leader_company_id',
145                                 'type': 'int'
146                             },
147                             {
148                                 'name': 'leader_role',
149                                 'type': 'string'
150                             },
151                             {
152                                 'name': 'leader_active',
153                                 'type': 'int'
154                             },
155                             {
156                                 'name': 'leader_remarks',
157                                 'type': 'string'
158                             },
159                             {
160                                 'name': 'leader_passwd',
161                                 'type': 'string'
162                             },
163                             {
164                                 'name': 'leader_owner_id',
165                                 'type': 'int'
166                             },
167                             {
168                                 'name': 'leader_lang',
169                                 'type': 'string'
170                             },
171                             {
172                                 'name': 'leader_no_reset_sent',
173                                 'type': 'int'
174                             },
175                             {
176                                 'name': 'leader_action_type',
177                                 'type': 'string'
178                             },
179                             {
180                                 'name': 'leader_project_id',
181                                 'type': 'int'
182                             }
183                         ]
184                     }
185                 },
186                 toolbar : {
187                     xtype: 'Toolbar',
188                     xns: Roo,
189                     items : [
190                         {
191                             xtype: 'Button',
192                             xns: Roo.Toolbar,
193                             text : "Manage Groups",
194                             menu : {
195                                 xtype: 'Menu',
196                                 xns: Roo.menu,
197                                 items : [
198                                     {
199                                         xtype: 'Item',
200                                         xns: Roo.menu,
201                                         listeners : {
202                                             click : function()
203                                             {
204                                                 if (!_this.dialog) return;
205                                                 _this.dialog.show( { id : 0 } , function() {
206                                                      _this.grid.ds.load({});
207                                                }); 
208                                             }
209                                         },
210                                         cls : 'x-btn-text-icon',
211                                         text : "Add",
212                                         icon : Roo.rootURL + 'images/default/dd/drop-add.gif'
213                                     },
214                                     {
215                                         xtype: 'Item',
216                                         xns: Roo.menu,
217                                         listeners : {
218                                             click : function()
219                                             {
220                                                 var s = _this.grid.getSelectionModel().getSelections();
221                                                 if (!s.length || (s.length > 1))  {
222                                                     Roo.MessageBox.alert("Error", s.length ? "Select only one Row" : "Select a Row");
223                                                     return;
224                                                 }
225                                                 if (!_this.dialog) return;
226                                                 _this.dialog.show(s[0].data, function() {
227                                                      _this.grid.ds.load({});
228                                                 }); 
229                                                 
230                                             }
231                                         },
232                                         cls : 'x-btn-text-icon',
233                                         text : "Edit",
234                                         icon : Roo.rootURL + 'images/default/tree/leaf.gif'
235                                     },
236                                     {
237                                         xtype: 'Item',
238                                         xns: Roo.menu,
239                                         listeners : {
240                                             click : function()
241                                             {
242                                                  Pman.genericDelete(_this, 'Groups'); 
243                                             }
244                                         },
245                                         cls : 'x-btn-text-icon',
246                                         text : "Delete",
247                                         icon : rootURL + '/Pman/templates/images/trash.gif'
248                                     },
249                                     {
250                                         xtype: 'Separator',
251                                         xns: Roo.menu
252                                     },
253                                     {
254                                         xtype: 'Item',
255                                         xns: Roo.menu,
256                                         listeners : {
257                                             click : function (_self, e)
258                                             {
259                                               _this.grid.ds.load({});
260                                             }
261                                         },
262                                         text : "Reload"
263                                     }
264                                 ]
265                             }
266                         }
267                     ]
268                 },
269                 colModel : [
270                     {
271                         xtype: 'ColumnModel',
272                         xns: Roo.grid,
273                         header : 'Name',
274                         width : 200,
275                         dataIndex : 'name',
276                         renderer : function(v) { return String.format('{0}', v); }
277                     }
278                 ]
279             }
280         });
281         this.layout = this.panel.layout;
282
283     }
284 });