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