Pman.Tab.AdminNotify.bjs
[Pman.Admin] / Pman.Tab.AdminNotify.js
index 4a77155..2e2d093 100644 (file)
@@ -2,36 +2,19 @@
 
 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
 
-
-
-// register the module first
-Pman.on('beforeload', function()
-{
-    Pman.register({
-        part :  ["Admin","Notify"],
-        modKey : '001-Pman.Tab.AdminNotify',
-        module : Pman.Tab.AdminNotify,
-        region : '',
-        parent : false,
-        name : "unnamed module",
-        disabled : false, 
-        permname: '' 
-    });
-});
-
-Pman.Tab.AdminNotify = new Roo.util.Observable({
-
-    panel : false,
-    disabled : false,
-    parentLayout:  false,
-
-    add : function(parentLayout, region)
+Pman.Tab.AdminNotify = new Roo.XComponent({
+    part     :  ["Admin","Notify"],
+    order    : '001-Pman.Tab.AdminNotify',
+    region   : 'center',
+    parent   : 'Pman.Tab.AdminWatchNotify',
+    name     : "Pman.Tab.AdminNotify",
+    disabled : false, 
+    permname : '', 
+    _tree : function()
     {
-
         var _this = this;
-        this.parentLayout = parentLayout;
-
-        this.panel = parentLayout.addxtype({
+        var MODULE = this;
+        return {
             xtype: 'GridPanel',
             xns: Roo,
             listeners : {
@@ -40,6 +23,7 @@ Pman.Tab.AdminNotify = new Roo.util.Observable({
                     if (_this.grid) {
                         _this.grid.footer.onClick('first');
                     }
+                    
                 }
             },
             background : true,
@@ -47,12 +31,10 @@ Pman.Tab.AdminNotify = new Roo.util.Observable({
             fitToframe : true,
             region : 'center',
             tableName : 'core_notify',
-            title : "Notifications",
+            title : "Current Notifications",
             grid : {
                 xtype: 'Grid',
                 xns: Roo.grid,
-                autoExpandColumn : 'ontable',
-                loadMask : true,
                 listeners : {
                     render : function() 
                     {
@@ -70,11 +52,21 @@ Pman.Tab.AdminNotify = new Roo.util.Observable({
                         }); 
                     }
                 },
+                autoExpandColumn : 'person_id_name',
+                loadMask : true,
                 dataSource : {
                     xtype: 'Store',
                     xns: Roo.data,
+                    listeners : {
+                        beforeload : function (_self, options)
+                        {
+                            if (!_this.toggleBtn.pressed) {
+                                options.params['event_id'] = 0;
+                            }
+                        }
+                    },
                     remoteSort : true,
-                    sortInfo : { field : 'ontable', direction: 'ASC' },
+                    sortInfo : { field : 'act_when', direction: 'DESC' },
                     proxy : {
                         xtype: 'HttpProxy',
                         xns: Roo.data,
@@ -246,8 +238,74 @@ Pman.Tab.AdminNotify = new Roo.util.Observable({
                     xns: Roo,
                     items : [
                         {
-                            xtype: 'Button',
+                            xtype: 'ComboBox',
+                            xns: Roo.form,
+                            allowBlank : false,
+                            displayField : 'person_id_name',
+                            editable : false,
+                            emptyText : "Select person",
+                            forceSelection : true,
+                            hiddenName : 'id',
+                            listWidth : 400,
+                            loadingText : "Searching...",
+                            minChars : 2,
+                            name : 'name',
+                            pageSize : 20,
+                            qtip : "Select core_notify",
+                            queryParam : 'query[person_id_name]',
+                            selectOnFocus : true,
+                            tpl : '<div class="x-grid-cell-text x-btn button"><b>{person_id_name}</b> {person_id_email}</div>',
+                            triggerAction : 'all',
+                            typeAhead : true,
+                            valueField : 'id',
+                            width : 300,
+                            store : {
+                                xtype: 'Store',
+                                xns: Roo.data,
+                                remoteSort : true,
+                                sortInfo : { direction : 'ASC', field: 'id' },
+                                listeners : {
+                                    beforeload : function (_self, o){
+                                        o.params = o.params || {};
+                                        // set more here
+                                    }
+                                },
+                                proxy : {
+                                    xtype: 'HttpProxy',
+                                    xns: Roo.data,
+                                    method : 'GET',
+                                    url : baseURL + '/Roo/core_notify.php'
+                                },
+                                reader : {
+                                    xtype: 'JsonReader',
+                                    xns: Roo.data,
+                                    id : 'id',
+                                    root : 'data',
+                                    totalProperty : 'total',
+                                    fields : [{"name":"id","type":"int"},{"name":"ontable","type":"string"}]
+                                }
+                            }
+                        },
+                        {
+                            xtype: 'Fill',
                             xns: Roo.Toolbar
+                        },
+                        {
+                            xtype: 'Button',
+                            xns: Roo.Toolbar,
+                            listeners : {
+                                render : function (_self)
+                                {
+                                    _this.toggleBtn = _self;
+                                },
+                                toggle : function (_self, pressed)
+                                {
+                                    this.setText(pressed ? "Hide Completed" : "Show Completed");
+                                    _this.grid.footer.onClick('first');
+                                }
+                            },
+                            enableToggle : true,
+                            text : "Show Completed"
                         }
                     ]
                 },
@@ -255,42 +313,61 @@ Pman.Tab.AdminNotify = new Roo.util.Observable({
                     {
                         xtype: 'ColumnModel',
                         xns: Roo.grid,
-                        header : 'Id',
-                        width : 75,
                         dataIndex : 'id',
-                        renderer : function(v) { return String.format('{0}', v); }
+                        header : 'id#',
+                        sortable : true,
+                        width : 50,
+                        renderer : function(v) { return String.format('{0}', v ); }
+                    },
+                    {
+                        xtype: 'ColumnModel',
+                        xns: Roo.grid,
+                        dataIndex : 'evtype',
+                        header : 'Method',
+                        sortable : true,
+                        width : 100,
+                        renderer : function(v) { return String.format('{0}', v ); }
                     },
                     {
                         xtype: 'ColumnModel',
                         xns: Roo.grid,
-                        header : 'Act when',
-                        width : 75,
                         dataIndex : 'act_when',
-                        renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }
+                        header : 'Act when',
+                        sortable : true,
+                        width : 100,
+                        renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y H:i:s') : ''); }
                     },
                     {
                         xtype: 'ColumnModel',
                         xns: Roo.grid,
-                        header : 'Onid',
-                        width : 75,
-                        dataIndex : 'onid',
-                        renderer : function(v) { return String.format('{0}', v); }
+                        dataIndex : 'sent',
+                        header : 'Sent',
+                        sortable : true,
+                        width : 100,
+                        renderer : function(v,x,r) {
+                            if (r.data.event_id *1 == 0) {
+                                return '';
+                            }
+                             return String.format('{0}', v ? v.format('d/M/Y H:i:s') : '');
+                          }
                     },
                     {
                         xtype: 'ColumnModel',
                         xns: Roo.grid,
-                        header : 'Ontable',
-                        width : 200,
                         dataIndex : 'ontable',
-                        renderer : function(v) { return String.format('{0}', v); }
+                        header : 'Ontable',
+                        width : 100,
+                        renderer : function(v,x,r) { return String.format('{0}:{1}', v,r.data.onid); }
                     },
                     {
                         xtype: 'ColumnModel',
                         xns: Roo.grid,
-                        header : 'Person',
-                        width : 75,
-                        dataIndex : 'person_id',
-                        renderer : function(v) { return String.format('{0}', v); }
+                        dataIndex : 'person_id_name',
+                        header : 'Who to notify',
+                        width : 200,
+                        renderer : function(v,x,r) {
+                             return String.format('{0} <u>&lt;{1}&gt;</u>', v, r.data.person_id_email); 
+                         }
                     },
                     {
                         xtype: 'ColumnModel',
@@ -303,23 +380,13 @@ Pman.Tab.AdminNotify = new Roo.util.Observable({
                     {
                         xtype: 'ColumnModel',
                         xns: Roo.grid,
-                        header : 'Sent',
-                        width : 75,
-                        dataIndex : 'sent',
-                        renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }
-                    },
-                    {
-                        xtype: 'ColumnModel',
-                        xns: Roo.grid,
+                        dataIndex : 'event_id_remarks',
                         header : 'Event',
-                        width : 75,
-                        dataIndex : 'event_id',
+                        width : 300,
                         renderer : function(v) { return String.format('{0}', v); }
                     }
                 ]
             }
-        });
-        this.layout = this.panel.layout;
-
+        };
     }
 });