Pman.Tab.AdminContactsGroupRight.bjs
[Pman.Admin] / Pman.Tab.AdminEnums.js
1 //<script type="text/javascript">
2
3 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
4
5 Pman.Tab.AdminEnums = new Roo.XComponent({
6     part     :  ["Admin","Enums"],
7     order    : '500-Pman.Tab.AdminEnums',
8     region   : 'center',
9     parent   : 'Pman.Tab.Admin',
10     name     : "Pman.Tab.AdminEnums",
11     disabled : false, 
12     permname : 'Admin.Enums', 
13     _tree : function()
14     {
15         var _this = this;
16         var MODULE = this;
17         return {
18             xtype: 'GridPanel',
19             xns: Roo,
20             listeners : {
21                 activate : function() {
22                     _this.panel = this;
23                     if (_this.grid) {
24                         _this.grid.footer.onClick('first');
25                     }
26                 }
27             },
28             background : true,
29             fitContainer : true,
30             fitToframe : true,
31             region : 'center',
32             tableName : 'core_enum',
33             title : "Pulldown Options",
34             grid : {
35                 xtype: 'EditorGrid',
36                 xns: Roo.grid,
37                 listeners : {
38                     render : function() 
39                     {
40                         _this.grid = this; 
41                         //_this.dialog = Pman.Dialog.FILL_IN
42                         if (_this.panel.active) {
43                            this.footer.onClick('first');
44                         }
45                     },
46                     afteredit : function (e)
47                     {
48                        e.record.commit();     
49                     },
50                     cellclick : function (_self, rowIndex, columnIndex, e)
51                     {
52                     
53                             var di = this.colModel.getDataIndex(columnIndex);
54                             if (di != 'active') {
55                                 return;
56                             }
57                              
58                             var rec = _this.grid.ds.getAt(rowIndex);
59                             
60                             rec.set('active', rec.data.active ? 0 : 1);
61                             rec.commit();
62                              
63                             
64                     }
65                 },
66                 autoExpandColumn : 'display_name',
67                 clicksToEdit : 1,
68                 loadMask : true,
69                 dataSource : {
70                     xtype: 'Store',
71                     xns: Roo.data,
72                     listeners : {
73                         beforeload : function (_self, options)
74                         {
75                             if (!_this.etypeCombo) {
76                                 return false;
77                             }
78                             options.params.etype = _this.etypeCombo.getValue();
79                             if (!options.params.etype.length) {
80                                 return false;
81                             }
82                         },
83                         update : function (_self, record, operation)
84                         {
85                             if (operation != Roo.data.Record.COMMIT) {
86                                 return;
87                             }
88                             // got commit..
89                             new Pman.Request({
90                                 url : baseURL + '/Roo/Core_enum.php',
91                                 method : 'POST',
92                                 params : {
93                                     id : record.data.id,
94                                     etype : _this.etypeCombo.getValue(),
95                                     name : record.data.name,
96                                     active : record.data.active,
97                                     seqid : record.data.seqid,
98                                     display_name : record.data.display_name
99                                 }, 
100                                 success : function(res) {
101                                     //Roo.log(data);
102                                     // update the ID if it's not set..
103                                     if (record.data.id * 1 < 1) {
104                                         record.set('id', res.data.id);
105                                     }
106                                 }
107                             });
108                             
109                         }
110                     },
111                     remoteSort : true,
112                     sortInfo : { field : 'etype', direction: 'ASC' },
113                     proxy : {
114                         xtype: 'HttpProxy',
115                         xns: Roo.data,
116                         method : 'GET',
117                         url : baseURL + '/Roo/core_enum.php'
118                     },
119                     reader : {
120                         xtype: 'JsonReader',
121                         xns: Roo.data,
122                         totalProperty : 'total',
123                         root : 'data',
124                         id : 'id',
125                         fields : [
126                             {
127                                 'name': 'id',
128                                 'type': 'int'
129                             },
130                             {
131                                 'name': 'etype',
132                                 'type': 'string'
133                             },
134                             {
135                                 'name': 'name',
136                                 'type': 'string'
137                             },
138                             {
139                                 'name': 'active',
140                                 'type': 'int'
141                             },
142                             {
143                                 'name': 'seqid',
144                                 'type': 'int'
145                             }
146                         ]
147                     }
148                 },
149                 footer : {
150                     xtype: 'PagingToolbar',
151                     xns: Roo,
152                     pageSize : 25,
153                     displayInfo : true,
154                     displayMsg : "Displaying core_enum{0} - {1} of {2}",
155                     emptyMsg : "No core_enum found"
156                 },
157                 toolbar : {
158                     xtype: 'Toolbar',
159                     xns: Roo,
160                     items : [
161                         {
162                             xtype: 'TextItem',
163                             xns: Roo.Toolbar,
164                             text : "Pulldown Name:"
165                         },
166                         {
167                             xtype: 'ComboBox',
168                             xns: Roo.form,
169                             listeners : {
170                                 render : function (_self)
171                                 {
172                                     _this.etypeCombo = _self;
173                                 },
174                                 select : function (combo, record, index)
175                                 {
176                                     _this.grid.footer.onClick('first');
177                                 }
178                             },
179                             alwaysQuery : true,
180                             displayField : 'name',
181                             editable : 'false',
182                             emptyText : "Select pulldown",
183                             fieldLabel : 'core_enum',
184                             forceSelection : true,
185                             listWidth : 400,
186                             loadingText : "Searching...",
187                             minChars : 2,
188                             pageSize : 20,
189                             qtip : "Select type",
190                             queryParam : 'query[name]',
191                             selectOnFocus : true,
192                             tpl : '<div class="x-grid-cell-text x-btn button"><b>{name}</b> </div>',
193                             triggerAction : 'all',
194                             typeAhead : false,
195                             valueField : 'name',
196                             width : 300,
197                             store : {
198                                 xtype: 'Store',
199                                 xns: Roo.data,
200                                 listeners : {
201                                     beforeload : function (_self, o){
202                                         o.params = o.params || {};
203                                         // set more here
204                                         o.params['query[empty_etype]'] = 1;
205                                     }
206                                 },
207                                 remoteSort : true,
208                                 sortInfo : { direction : 'ASC', field: 'id' },
209                                 proxy : {
210                                     xtype: 'HttpProxy',
211                                     xns: Roo.data,
212                                     method : 'GET',
213                                     url : baseURL + '/Roo/core_enum.php'
214                                 },
215                                 reader : {
216                                     xtype: 'JsonReader',
217                                     xns: Roo.data,
218                                     id : 'id',
219                                     root : 'data',
220                                     totalProperty : 'total',
221                                     fields : [{"name":"id","type":"int"},{"name":"etype","type":"string"}]
222                                 }
223                             }
224                         },
225                         {
226                             xtype: 'Button',
227                             xns: Roo.Toolbar,
228                             listeners : {
229                                 click : function()
230                                 {
231                                     
232                                     // if we do not have a selected type... - what should we show..?
233                                     var et = _this.etypeCombo.getValue();
234                                     var ds = _this.grid.getDataSource();
235                                     if (!et) {
236                                         Roo.MessageBox.alert("Error", "Select a pulldown");
237                                         return;
238                                     }
239                                 
240                                     var add = ds.reader.newRow({    
241                                              id: 0, 
242                                              display_name : '', 
243                                              name : '', 
244                                              etype: et, 
245                                              active: 1, 
246                                              seqid: 0
247                                       });
248                                      var r = ds.data.length;
249                                     ds.insert(r  , add);  
250                                     _this.grid.startEditing(r, 1); // name... 
251                                 }
252                             },
253                             cls : 'x-btn-text-icon',
254                             text : "Add Value",
255                             icon : Roo.rootURL + 'images/default/dd/drop-add.gif'
256                         },
257                         {
258                             xtype: 'Fill',
259                             xns: Roo.Toolbar
260                         },
261                         {
262                             xtype: 'Button',
263                             xns: Roo.Toolbar,
264                             listeners : {
265                                 click : function()
266                                 {
267                                     
268                                     Roo.MessageBox.prompt ("Create a new Enum type",
269                                         "Enter the name for a new enum type, " + 
270                                         "this is only relivant if you  know how it is going to be used",
271                                         function(btn,txt) {
272                                             if (btn != 'ok') {
273                                                 return; 
274                                             }
275                                             new Pman.Request({
276                                                 url : baseURL + '/Roo/Core_enum.php',
277                                                 method : 'POST',
278                                                 params : {
279                                                     etype : '',
280                                                     name : txt,
281                                                     active : 1
282                                                 }, 
283                                                 success : function() {
284                                                     Roo.MessageBox.alert("Created", "You can now select it from the type list on the left");
285                                                 }
286                                             });
287                                                     
288                                             
289                                              
290                                              
291                                         }
292                                     ); 
293                                          
294                                          
295                                 
296                                 }
297                             },
298                             cls : 'x-btn-text-icon',
299                             text : "Add new pulldown list",
300                             icon : Roo.rootURL + 'images/default/dd/drop-add.gif'
301                         }
302                     ]
303                 },
304                 colModel : [
305                     {
306                         xtype: 'ColumnModel',
307                         xns: Roo.grid,
308                         dataIndex : 'id',
309                         header : 'Internal #',
310                         width : 75,
311                         renderer : function(v) { return String.format('{0}', v); }
312                     },
313                     {
314                         xtype: 'ColumnModel',
315                         xns: Roo.grid,
316                         header : 'Name',
317                         width : 200,
318                         dataIndex : 'name',
319                         renderer : function(v) { return String.format('{0}', v); },
320                         editor : {
321                             xtype: 'GridEditor',
322                             xns: Roo.grid,
323                             field : {
324                                 xtype: 'TextField',
325                                 xns: Roo.form
326                             }
327                         }
328                     },
329                     {
330                         xtype: 'ColumnModel',
331                         xns: Roo.grid,
332                         dataIndex : 'display_name',
333                         header : 'Display Name',
334                         width : 200,
335                         renderer : function(v) { return String.format('{0}', v); },
336                         editor : {
337                             xtype: 'GridEditor',
338                             xns: Roo.grid,
339                             field : {
340                                 xtype: 'TextField',
341                                 xns: Roo.form
342                             }
343                         }
344                     },
345                     {
346                         xtype: 'ColumnModel',
347                         xns: Roo.grid,
348                         dataIndex : 'active',
349                         header : 'Active',
350                         width : 75,
351                         renderer : function(v) {  
352                             var state = v> 0 ?  '-checked' : '';
353                         
354                             return '<img class="x-grid-check-icon' + state + '" src="' + Roo.BLANK_IMAGE_URL + '"/>';
355                                         
356                          }
357                     },
358                     {
359                         xtype: 'ColumnModel',
360                         xns: Roo.grid,
361                         dataIndex : 'seqid',
362                         header : 'Order #',
363                         sortable : true,
364                         width : 75,
365                         renderer : function(v) { return String.format('{0}', v); },
366                         editor : {
367                             xtype: 'GridEditor',
368                             xns: Roo.grid,
369                             field : {
370                                 xtype: 'NumberField',
371                                 xns: Roo.form,
372                                 allowDecimals : false,
373                                 allowNegative : true,
374                                 decimalPrecision : 0
375                             }
376                         }
377                     }
378                 ]
379             }
380         };
381     }
382 });