Pman.Tab.AdminNotifyRecur.bjs
[Pman.Admin] / Pman.Tab.AdminNotifyRecur.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.AdminNotifyRecur = new Roo.XComponent({
6     part     :  ["Admin","NotifyRecur"],
7     order    : '800-Pman.Tab.AdminNotifyRecur',
8     region   : 'center',
9     parent   : 'Pman.Tab.AdminWatchNotify',
10     name     : "Pman.Tab.AdminNotifyRecur",
11     disabled : false, 
12     permname : '', 
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_notify_recur',
33             title : "Recurrent Notifications",
34             grid : {
35                 xtype: 'Grid',
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                     rowdblclick : function (_self, rowIndex, e)
47                     {
48                         if (!_this.dialog) return;
49                         _this.dialog.show( this.getDataSource().getAt(rowIndex).data, function() {
50                             _this.grid.footer.onClick('first');
51                         }); 
52                     }
53                 },
54                 autoExpandColumn : 'person_id_name',
55                 loadMask : true,
56                 toolbar : {
57                     xtype: 'Toolbar',
58                     xns: Roo,
59                     items : [
60                         {
61                             xtype: 'ComboBox',
62                             xns: Roo.form,
63                             listeners : {
64                                 select : function (combo, record, index)
65                                 {
66                                    (function() { _this.grid.footer.onClick('first'); }).defer(100);
67                                 },
68                                 render : function (_self)
69                                 {
70                                    _this.personCombo = _self;
71                                 }
72                             },
73                             allowBlank : true,
74                             displayField : 'person_id_name',
75                             editable : true,
76                             emptyText : "Select person",
77                             forceSelection : true,
78                             hiddenName : 'id',
79                             listWidth : 400,
80                             loadingText : "Searching...",
81                             minChars : 2,
82                             name : 'name',
83                             pageSize : 20,
84                             qtip : "Select core_notify",
85                             queryParam : 'query[person_id_name]',
86                             selectOnFocus : true,
87                             tpl : '<div class="x-grid-cell-text x-btn button"><b>{person_id_name}</b> {person_id_email}</div>',
88                             triggerAction : 'all',
89                             valueField : 'person_id',
90                             width : 300,
91                             store : {
92                                 xtype: 'Store',
93                                 xns: Roo.data,
94                                 listeners : {
95                                     beforeload : function (_self, o){
96                                         o.params = o.params || {};
97                                         o.params._distinct='person_id';
98                                         o.params._columns='person_id,person_id_name,person_id_email';
99                                         o.params['!person_id_name'] = '';
100                                         
101                                         // set more here
102                                     }
103                                 },
104                                 remoteSort : true,
105                                 sortInfo : { direction : 'ASC', field: 'person_id_name' },
106                                 proxy : {
107                                     xtype: 'HttpProxy',
108                                     xns: Roo.data,
109                                     method : 'GET',
110                                     url : baseURL + '/Roo/core_notify_recur.php'
111                                 },
112                                 reader : {
113                                     xtype: 'JsonReader',
114                                     xns: Roo.data,
115                                     id : 'id',
116                                     root : 'data',
117                                     totalProperty : 'total',
118                                     fields : [{"name":"id","type":"int"},{"name":"ontable","type":"string"}]
119                                 }
120                             }
121                         }
122                     ]
123                 },
124                 dataSource : {
125                     xtype: 'Store',
126                     xns: Roo.data,
127                     listeners : {
128                         beforeload : function (_self, options)
129                         {
130                             if (!_this.personCombo) {
131                                 return false;
132                             }
133                             var p = _this.personCombo.getValue();
134                             if (p*1) { 
135                                 options.params.person_id = p;
136                             }
137                         }
138                     },
139                     remoteSort : true,
140                     sortInfo : { field : 'person_id_name', direction: 'ASC' },
141                     proxy : {
142                         xtype: 'HttpProxy',
143                         xns: Roo.data,
144                         method : 'GET',
145                         url : baseURL + '/Roo/core_notify_recur.php'
146                     },
147                     reader : {
148                         xtype: 'JsonReader',
149                         xns: Roo.data,
150                         totalProperty : 'total',
151                         root : 'data',
152                         id : 'id',
153                         fields : [
154                             {
155                                 'name': 'id',
156                                 'type': 'int'
157                             },
158                             {
159                                 'name': 'person_id',
160                                 'type': 'int'
161                             },
162                             {
163                                 'name': 'dtstart',
164                                 'type': 'date',
165                                 'dateFormat': 'Y-m-d'
166                             },
167                             {
168                                 'name': 'dtend',
169                                 'type': 'date',
170                                 'dateFormat': 'Y-m-d'
171                             },
172                             {
173                                 'name': 'max_applied_dt',
174                                 'type': 'date',
175                                 'dateFormat': 'Y-m-d'
176                             },
177                             {
178                                 'name': 'updated_dt',
179                                 'type': 'date',
180                                 'dateFormat': 'Y-m-d'
181                             },
182                             {
183                                 'name': 'last_applied_dt',
184                                 'type': 'date',
185                                 'dateFormat': 'Y-m-d'
186                             },
187                             {
188                                 'name': 'tz',
189                                 'type': 'string'
190                             },
191                             {
192                                 'name': 'freq',
193                                 'type': 'string'
194                             },
195                             {
196                                 'name': 'freq_day',
197                                 'type': 'string'
198                             },
199                             {
200                                 'name': 'freq_hour',
201                                 'type': 'string'
202                             },
203                             {
204                                 'name': 'onid',
205                                 'type': 'int'
206                             },
207                             {
208                                 'name': 'ontable',
209                                 'type': 'string'
210                             },
211                             {
212                                 'name': 'last_event_id',
213                                 'type': 'int'
214                             },
215                             {
216                                 'name': 'method',
217                                 'type': 'string'
218                             }
219                         ]
220                     }
221                 },
222                 footer : {
223                     xtype: 'PagingToolbar',
224                     xns: Roo,
225                     pageSize : 25,
226                     displayInfo : true,
227                     displayMsg : "Displaying core_notify_recur{0} - {1} of {2}",
228                     emptyMsg : "No core_notify_recur found"
229                 },
230                 colModel : [
231                     {
232                         xtype: 'ColumnModel',
233                         xns: Roo.grid,
234                         dataIndex : 'person_id_name',
235                         header : 'Person',
236                         width : 75,
237                         renderer : function(v,x,r) { 
238                             return String.format('{0} <a href="mailto:{1}">{1}</a>', v,r.data.person_id_email); 
239                         }
240                     },
241                     {
242                         xtype: 'ColumnModel',
243                         xns: Roo.grid,
244                         header : 'Dtstart',
245                         width : 75,
246                         dataIndex : 'dtstart',
247                         renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }
248                     },
249                     {
250                         xtype: 'ColumnModel',
251                         xns: Roo.grid,
252                         header : 'Dtend',
253                         width : 75,
254                         dataIndex : 'dtend',
255                         renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }
256                     },
257                     {
258                         xtype: 'ColumnModel',
259                         xns: Roo.grid,
260                         dataIndex : 'last_applied_dt',
261                         header : 'Last Notification created',
262                         width : 75,
263                         renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }
264                     },
265                     {
266                         xtype: 'ColumnModel',
267                         xns: Roo.grid,
268                         dataIndex : 'tz',
269                         header : 'Tz',
270                         width : 50,
271                         renderer : function(v) { return String.format('{0}', v); }
272                     },
273                     {
274                         xtype: 'ColumnModel',
275                         xns: Roo.grid,
276                         dataIndex : 'freq',
277                         header : 'Freq',
278                         width : 100,
279                         renderer : function(v) { return String.format('{0}', v); }
280                     },
281                     {
282                         xtype: 'ColumnModel',
283                         xns: Roo.grid,
284                         dataIndex : 'freq_day',
285                         header : 'Freq day',
286                         width : 100,
287                         renderer : function(v) { return String.format('{0}', v); }
288                     },
289                     {
290                         xtype: 'ColumnModel',
291                         xns: Roo.grid,
292                         header : 'Freq hour',
293                         width : 200,
294                         dataIndex : 'freq_hour',
295                         renderer : function(v) { return String.format('{0}', v); }
296                     },
297                     {
298                         xtype: 'ColumnModel',
299                         xns: Roo.grid,
300                         dataIndex : 'onid',
301                         header : 'Affects',
302                         width : 75,
303                         renderer : function(v,x,r) { return String.format('{1}:{0}', v,r.data.ontable); }
304                     },
305                     {
306                         xtype: 'ColumnModel',
307                         xns: Roo.grid,
308                         dataIndex : 'method',
309                         header : 'Method',
310                         width : 75,
311                         renderer : function(v) { return String.format('{0}', v); }
312                     }
313                 ]
314             }
315         };
316     }
317 });