Pman.Tab.AdminNotify.bjs
[Pman.Admin] / Pman.Tab.AdminNotify.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.AdminNotify = new Roo.XComponent({
6     part     :  ["Admin","Notify"],
7     order    : '001-Pman.Tab.AdminNotify',
8     region   : 'center',
9     parent   : 'Pman.Tab.AdminWatchNotify',
10     name     : "Pman.Tab.AdminNotify",
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             },
29             background : true,
30             fitContainer : true,
31             fitToframe : true,
32             region : 'center',
33             tableName : 'core_notify',
34             title : "Current Notifications",
35             grid : {
36                 xtype: 'Grid',
37                 xns: Roo.grid,
38                 listeners : {
39                     render : function() 
40                     {
41                         _this.grid = this; 
42                         //_this.dialog = Pman.Dialog.FILL_IN
43                         if (_this.panel.active) {
44                            this.footer.onClick('first');
45                         }
46                     },
47                     rowdblclick : function (_self, rowIndex, e)
48                     {
49                         if (!_this.dialog) return;
50                         _this.dialog.show( this.getDataSource().getAt(rowIndex), function() {
51                             _this.grid.footer.onClick('first');
52                         }); 
53                     }
54                 },
55                 autoExpandColumn : 'person_id_name',
56                 loadMask : true,
57                 dataSource : {
58                     xtype: 'Store',
59                     xns: Roo.data,
60                     listeners : {
61                         beforeload : function (_self, options)
62                         {
63                             if (!_this.toggleBtn.pressed) {
64                                 options.params['event_id'] = 0;
65                             }
66                         }
67                     },
68                     remoteSort : true,
69                     sortInfo : { field : 'act_when', direction: 'DESC' },
70                     proxy : {
71                         xtype: 'HttpProxy',
72                         xns: Roo.data,
73                         method : 'GET',
74                         url : baseURL + '/Roo/core_notify.php'
75                     },
76                     reader : {
77                         xtype: 'JsonReader',
78                         xns: Roo.data,
79                         totalProperty : 'total',
80                         root : 'data',
81                         id : 'id',
82                         fields : [
83                             {
84                                 'name': 'id',
85                                 'type': 'int'
86                             },
87                             {
88                                 'name': 'act_when',
89                                 'type': 'date',
90                                 'dateFormat': 'Y-m-d'
91                             },
92                             {
93                                 'name': 'onid',
94                                 'type': 'int'
95                             },
96                             {
97                                 'name': 'ontable',
98                                 'type': 'string'
99                             },
100                             {
101                                 'name': 'person_id',
102                                 'type': 'int'
103                             },
104                             {
105                                 'name': 'msgid',
106                                 'type': 'string'
107                             },
108                             {
109                                 'name': 'sent',
110                                 'type': 'date',
111                                 'dateFormat': 'Y-m-d'
112                             },
113                             {
114                                 'name': 'event_id',
115                                 'type': 'int'
116                             },
117                             {
118                                 'name': 'person_id_id',
119                                 'type': 'int'
120                             },
121                             {
122                                 'name': 'person_id_office_id',
123                                 'type': 'int'
124                             },
125                             {
126                                 'name': 'person_id_name',
127                                 'type': 'string'
128                             },
129                             {
130                                 'name': 'person_id_phone',
131                                 'type': 'string'
132                             },
133                             {
134                                 'name': 'person_id_fax',
135                                 'type': 'string'
136                             },
137                             {
138                                 'name': 'person_id_email',
139                                 'type': 'string'
140                             },
141                             {
142                                 'name': 'person_id_company_id',
143                                 'type': 'int'
144                             },
145                             {
146                                 'name': 'person_id_role',
147                                 'type': 'string'
148                             },
149                             {
150                                 'name': 'person_id_active',
151                                 'type': 'int'
152                             },
153                             {
154                                 'name': 'person_id_remarks',
155                                 'type': 'string'
156                             },
157                             {
158                                 'name': 'person_id_passwd',
159                                 'type': 'string'
160                             },
161                             {
162                                 'name': 'person_id_owner_id',
163                                 'type': 'int'
164                             },
165                             {
166                                 'name': 'person_id_lang',
167                                 'type': 'string'
168                             },
169                             {
170                                 'name': 'person_id_no_reset_sent',
171                                 'type': 'int'
172                             },
173                             {
174                                 'name': 'person_id_action_type',
175                                 'type': 'string'
176                             },
177                             {
178                                 'name': 'person_id_project_id',
179                                 'type': 'int'
180                             },
181                             {
182                                 'name': 'person_id_deleted_by',
183                                 'type': 'int'
184                             },
185                             {
186                                 'name': 'person_id_deleted_dt',
187                                 'type': 'date'
188                             },
189                             {
190                                 'name': 'event_id_id',
191                                 'type': 'int'
192                             },
193                             {
194                                 'name': 'event_id_person_name',
195                                 'type': 'string'
196                             },
197                             {
198                                 'name': 'event_id_event_when',
199                                 'type': 'date'
200                             },
201                             {
202                                 'name': 'event_id_action',
203                                 'type': 'string'
204                             },
205                             {
206                                 'name': 'event_id_ipaddr',
207                                 'type': 'string'
208                             },
209                             {
210                                 'name': 'event_id_on_id',
211                                 'type': 'int'
212                             },
213                             {
214                                 'name': 'event_id_on_table',
215                                 'type': 'string'
216                             },
217                             {
218                                 'name': 'event_id_person_id',
219                                 'type': 'int'
220                             },
221                             {
222                                 'name': 'event_id_remarks',
223                                 'type': 'string'
224                             }
225                         ]
226                     }
227                 },
228                 footer : {
229                     xtype: 'PagingToolbar',
230                     xns: Roo,
231                     pageSize : 25,
232                     displayInfo : true,
233                     displayMsg : "Displaying core_notify{0} - {1} of {2}",
234                     emptyMsg : "No core_notify found"
235                 },
236                 toolbar : {
237                     xtype: 'Toolbar',
238                     xns: Roo,
239                     items : [
240                         {
241                             xtype: 'ComboBox',
242                             xns: Roo.form,
243                             allowBlank : false,
244                             displayField : 'person_id_name',
245                             editable : false,
246                             emptyText : "Select person",
247                             forceSelection : true,
248                             hiddenName : 'id',
249                             listWidth : 400,
250                             loadingText : "Searching...",
251                             minChars : 2,
252                             name : 'name',
253                             pageSize : 20,
254                             qtip : "Select core_notify",
255                             queryParam : 'query[person_id_name]',
256                             selectOnFocus : true,
257                             tpl : '<div class="x-grid-cell-text x-btn button"><b>{person_id_name}</b> {person_id_email}</div>',
258                             triggerAction : 'all',
259                             typeAhead : true,
260                             valueField : 'person_id',
261                             width : 300,
262                             store : {
263                                 xtype: 'Store',
264                                 xns: Roo.data,
265                                 listeners : {
266                                     beforeload : function (_self, o){
267                                         o.params = o.params || {};
268                                         o.params._distinct='person_id';
269                                         o.params._columns='person_id,person_id_name,person_id_email';
270                                         o.params['!person_id_name'] = '';
271                                         
272                                         // set more here
273                                     }
274                                 },
275                                 remoteSort : true,
276                                 sortInfo : { direction : 'ASC', field: 'person_id_name' },
277                                 proxy : {
278                                     xtype: 'HttpProxy',
279                                     xns: Roo.data,
280                                     method : 'GET',
281                                     url : baseURL + '/Roo/core_notify.php'
282                                 },
283                                 reader : {
284                                     xtype: 'JsonReader',
285                                     xns: Roo.data,
286                                     id : 'id',
287                                     root : 'data',
288                                     totalProperty : 'total',
289                                     fields : [{"name":"id","type":"int"},{"name":"ontable","type":"string"}]
290                                 }
291                             }
292                         },
293                         {
294                             xtype: 'Fill',
295                             xns: Roo.Toolbar
296                         },
297                         {
298                             xtype: 'Button',
299                             xns: Roo.Toolbar,
300                             listeners : {
301                                 render : function (_self)
302                                 {
303                                     _this.toggleBtn = _self;
304                                 },
305                                 toggle : function (_self, pressed)
306                                 {
307                                     this.setText(pressed ? "Hide Completed" : "Show Completed");
308                                     _this.grid.footer.onClick('first');
309                                 }
310                             },
311                             enableToggle : true,
312                             text : "Show Completed"
313                         }
314                     ]
315                 },
316                 colModel : [
317                     {
318                         xtype: 'ColumnModel',
319                         xns: Roo.grid,
320                         dataIndex : 'id',
321                         header : 'id#',
322                         sortable : true,
323                         width : 50,
324                         renderer : function(v) { return String.format('{0}', v ); }
325                     },
326                     {
327                         xtype: 'ColumnModel',
328                         xns: Roo.grid,
329                         dataIndex : 'evtype',
330                         header : 'Method',
331                         sortable : true,
332                         width : 100,
333                         renderer : function(v) { return String.format('{0}', v ); }
334                     },
335                     {
336                         xtype: 'ColumnModel',
337                         xns: Roo.grid,
338                         dataIndex : 'act_when',
339                         header : 'Act when',
340                         sortable : true,
341                         width : 100,
342                         renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y H:i:s') : ''); }
343                     },
344                     {
345                         xtype: 'ColumnModel',
346                         xns: Roo.grid,
347                         dataIndex : 'sent',
348                         header : 'Sent',
349                         sortable : true,
350                         width : 100,
351                         renderer : function(v,x,r) {
352                             if (r.data.event_id *1 == 0) {
353                                 return '';
354                             }
355                              return String.format('{0}', v ? v.format('d/M/Y H:i:s') : '');
356                           }
357                     },
358                     {
359                         xtype: 'ColumnModel',
360                         xns: Roo.grid,
361                         dataIndex : 'ontable',
362                         header : 'Ontable',
363                         width : 100,
364                         renderer : function(v,x,r) { return String.format('{0}:{1}', v,r.data.onid); }
365                     },
366                     {
367                         xtype: 'ColumnModel',
368                         xns: Roo.grid,
369                         dataIndex : 'person_id_name',
370                         header : 'Who to notify',
371                         width : 200,
372                         renderer : function(v,x,r) {
373                              return String.format('{0} <u>&lt;{1}&gt;</u>', v, r.data.person_id_email); 
374                          }
375                     },
376                     {
377                         xtype: 'ColumnModel',
378                         xns: Roo.grid,
379                         header : 'Msgid',
380                         width : 200,
381                         dataIndex : 'msgid',
382                         renderer : function(v) { return String.format('{0}', v); }
383                     },
384                     {
385                         xtype: 'ColumnModel',
386                         xns: Roo.grid,
387                         dataIndex : 'event_id_remarks',
388                         header : 'Event',
389                         width : 300,
390                         renderer : function(v) { return String.format('{0}', v); }
391                     }
392                 ]
393             }
394         };
395     }
396 });