Pman.Tab.AdminProjectMembers.bjs
[Pman.Admin] / Pman.Tab.AdminProjectMembers.bjs
index 620cf49..c940fa0 100644 (file)
@@ -1,38 +1,42 @@
 {
     "id": "roo-file-189",
     "name": "Pman.Tab.AdminProjectMembers",
-    "parent": "",
-    "title": "",
+    "parent": "Pman.Tab.AdminProjectManager",
+    "title": "Pman.Tab.AdminProjectMembers",
     "path": "/home/alan/gitlive/Pman.Admin/Pman.Tab.AdminProjectMembers.bjs",
     "items": [
         {
-            "|xns": "Roo",
-            "xtype": "GridPanel",
-            "title": "Person",
-            "fitToframe": true,
-            "fitContainer": true,
-            "tableName": "Person",
-            "background": true,
-            "region": "center",
             "listeners": {
                 "|activate": "function() {\n    _this.panel = this;\n    if (_this.grid) {\n        _this.grid.footer.onClick('first');\n    }\n}"
             },
+            "background": true,
+            "fitContainer": true,
+            "fitToframe": true,
+            "region": "east",
+            "tableName": "Person",
+            "title": "Person",
+            "xtype": "GridPanel",
+            "|xns": "Roo",
             "items": [
                 {
-                    "*prop": "grid",
-                    "xtype": "Grid",
-                    "autoExpandColumn": "name",
-                    "loadMask": true,
                     "listeners": {
                         "|render": "function() \n{\n    _this.grid = this; \n    //_this.dialog = Pman.Dialog.FILL_IN\n    if (_this.panel.active) {\n       this.footer.onClick('first');\n    }\n}",
                         "|rowdblclick": "function (_self, rowIndex, e)\n{\n    if (!_this.dialog) return;\n    _this.dialog.show( this.getDataSource().getAt(rowIndex), function() {\n        _this.grid.footer.onClick('first');\n    }); \n}\n"
                     },
+                    "filter": "S",
+                    "*prop": "grid",
+                    "autoExpandColumn": "name",
+                    "loadMask": true,
+                    "xtype": "Grid",
                     "|xns": "Roo.grid",
                     "items": [
                         {
+                            "listeners": {
+                                "beforeload": "function (_self, options)\n{\n    if (!_this.memberBtn) {\n        return false;\n    }\n    options.params.project_member_filter = _this.memberBtn.pressed ? 1 :0;\n    var pm = Pman.Tab.AdminProjectManager;\n    if (!pm || !pm.grid || !pm.grid.getSelectionModel().getSelected()) {\n        return false;\n    }\n    var sel = pm.grid.getSelectionModel().getSelected();\n    switch(_this.grid.filter) {\n        case 'S': // staff\n            options.params.company_id_comptype='OWNER';\n            options.params.project_member_of = sel.data.id;\n            break;\n        case 'O': // owner..\n            options.params.company_id = sel.data.client_id;\n            options.params.project_member_of = sel.data.id;\n            break;\n        case 'A': // not owner or staff..\n            options.params['!company_id'] = sel.data.client_id;\n            options.params['!company_id_comptype'] ='OWNER';\n            options.params.project_member_of = sel.data.id;  \n            break;      \n    }\n    \n}"
+                            },
                             "*prop": "dataSource",
-                            "xtype": "Store",
                             "remoteSort": true,
+                            "xtype": "Store",
                             "|sortInfo": "{ field : 'name', direction: 'ASC' }",
                             "|xns": "Roo.data",
                             "items": [
                         },
                         {
                             "*prop": "footer",
-                            "xtype": "PagingToolbar",
-                            "pageSize": 25,
                             "displayInfo": true,
-                            "displayMsg": "Displaying Person{0} - {1} of {2}",
+                            "displayMsg": " ",
                             "emptyMsg": "No Person found",
+                            "pageSize": 25,
+                            "xtype": "PagingToolbar",
                             "|xns": "Roo"
                         },
                         {
                             "|xns": "Roo",
                             "items": [
                                 {
+                                    "listeners": {
+                                        "toggle": "function (_self, pressed)\n{\n    if (pressed) {\n        _this.grid.filter = 'S';\n    }\n    _this.grid.footer.onClick('first');\n}"
+                                    },
+                                    "enableToggle": true,
+                                    "pressed": true,
                                     "text": "Staff",
+                                    "toggleGroup": "appm",
                                     "xtype": "Button",
-                                    "|xns": "Roo.Toolbar",
-                                    "listeners": {}
+                                    "|xns": "Roo.Toolbar"
                                 },
                                 {
-                                    "text": "Edit",
-                                    "xtype": "Button",
-                                    "cls": "x-btn-text-icon",
-                                    "|icon": "Roo.rootURL + 'images/default/tree/leaf.gif'",
                                     "listeners": {
-                                        "|click": "function()\n{\n    var s = _this.grid.getSelectionModel().getSelections();\n    if (!s.length || (s.length > 1))  {\n        Roo.MessageBox.alert(\"Error\", s.length ? \"Select only one Row\" : \"Select a Row\");\n        return;\n    }\n    if (!_this.dialog) return;\n    _this.dialog.show(s[0].data, function() {\n        _this.grid.footer.onClick('first');\n    }); \n    \n}\n"
+                                        "toggle": "function (_self, pressed)\n{\n    if (pressed) {\n        _this.grid.filter = 'O';\n    }\n    _this.grid.footer.onClick('first');\n}"
                                     },
+                                    "enableToggle": true,
+                                    "text": "Owners",
+                                    "toggleGroup": "appm",
+                                    "xtype": "Button",
                                     "|xns": "Roo.Toolbar"
                                 },
                                 {
-                                    "text": "Delete",
-                                    "cls": "x-btn-text-icon",
-                                    "|icon": "rootURL + '/Pman/templates/images/trash.gif'",
+                                    "listeners": {
+                                        "toggle": "function (_self, pressed)\n{\n    if (pressed) {\n        _this.grid.filter = 'A';\n    }\n    _this.grid.footer.onClick('first');\n}"
+                                    },
+                                    "enableToggle": true,
+                                    "text": "Other",
+                                    "toggleGroup": "appm",
                                     "xtype": "Button",
+                                    "|xns": "Roo.Toolbar"
+                                },
+                                {
+                                    "|xns": "Roo.Toolbar",
+                                    "xtype": "Fill"
+                                },
+                                {
                                     "listeners": {
-                                        "|click": "function()\n{\n     Pman.genericDelete(_this, 'Person'); \n}\n        "
+                                        "toggle": "function (_self, pressed)\n{\n   \n    _this.grid.footer.onClick('first');\n}",
+                                        "render": "function (_self)\n{\n    _this.memberBtn = _self;\n}"
                                     },
+                                    "enableToggle": true,
+                                    "text": "Members",
+                                    "xtype": "Button",
                                     "|xns": "Roo.Toolbar"
                                 }
                             ]
                         },
                         {
+                            "*prop": "colModel[]",
+                            "dataIndex": "is_member",
+                            "header": "Member",
+                            "width": 60,
                             "xtype": "ColumnModel",
-                            "header": "Id",
-                            "width": 75,
-                            "dataIndex": "id",
-                            "|renderer": "function(v) { return String.format('{0}', v); }",
-                            "|xns": "Roo.grid",
-                            "*prop": "colModel[]"
-                        },
-                        {
-                            "xtype": "ColumnModel",
-                            "header": "Office",
-                            "width": 75,
-                            "dataIndex": "office_id",
                             "|renderer": "function(v) { return String.format('{0}', v); }",
-                            "|xns": "Roo.grid",
-                            "*prop": "colModel[]"
+                            "|xns": "Roo.grid"
                         },
                         {
-                            "xtype": "ColumnModel",
-                            "header": "Name",
-                            "width": 200,
+                            "*prop": "colModel[]",
                             "dataIndex": "name",
-                            "|renderer": "function(v) { return String.format('{0}', v); }",
-                            "|xns": "Roo.grid",
-                            "*prop": "colModel[]"
-                        },
-                        {
-                            "xtype": "ColumnModel",
-                            "header": "Phone",
+                            "header": "Name",
+                            "sortable": true,
                             "width": 200,
-                            "dataIndex": "phone",
-                            "|renderer": "function(v) { return String.format('{0}', v); }",
-                            "|xns": "Roo.grid",
-                            "*prop": "colModel[]"
-                        },
-                        {
                             "xtype": "ColumnModel",
-                            "header": "Fax",
-                            "width": 200,
-                            "dataIndex": "fax",
                             "|renderer": "function(v) { return String.format('{0}', v); }",
-                            "|xns": "Roo.grid",
-                            "*prop": "colModel[]"
+                            "|xns": "Roo.grid"
                         },
                         {
-                            "xtype": "ColumnModel",
-                            "header": "Email",
-                            "width": 200,
+                            "*prop": "colModel[]",
                             "dataIndex": "email",
-                            "|renderer": "function(v) { return String.format('{0}', v); }",
-                            "|xns": "Roo.grid",
-                            "*prop": "colModel[]"
-                        },
-                        {
-                            "xtype": "ColumnModel",
-                            "header": "Company",
-                            "width": 75,
-                            "dataIndex": "company_id",
-                            "|renderer": "function(v) { return String.format('{0}', v); }",
-                            "|xns": "Roo.grid",
-                            "*prop": "colModel[]"
-                        },
-                        {
-                            "xtype": "ColumnModel",
-                            "header": "Role",
-                            "width": 200,
-                            "dataIndex": "role",
-                            "|renderer": "function(v) { return String.format('{0}', v); }",
-                            "|xns": "Roo.grid",
-                            "*prop": "colModel[]"
-                        },
-                        {
-                            "xtype": "ColumnModel",
-                            "header": "Active",
-                            "width": 75,
-                            "dataIndex": "active",
-                            "|renderer": "function(v) { return String.format('{0}', v); }",
-                            "|xns": "Roo.grid",
-                            "*prop": "colModel[]"
-                        },
-                        {
-                            "xtype": "ColumnModel",
-                            "header": "Remarks",
-                            "width": 200,
-                            "dataIndex": "remarks",
-                            "|renderer": "function(v) { return String.format('{0}', v); }",
-                            "|xns": "Roo.grid",
-                            "*prop": "colModel[]"
-                        },
-                        {
-                            "xtype": "ColumnModel",
-                            "header": "Passwd",
-                            "width": 200,
-                            "dataIndex": "passwd",
-                            "|renderer": "function(v) { return String.format('{0}', v); }",
-                            "|xns": "Roo.grid",
-                            "*prop": "colModel[]"
-                        },
-                        {
-                            "xtype": "ColumnModel",
-                            "header": "Owner",
-                            "width": 75,
-                            "dataIndex": "owner_id",
-                            "|renderer": "function(v) { return String.format('{0}', v); }",
-                            "|xns": "Roo.grid",
-                            "*prop": "colModel[]"
-                        },
-                        {
-                            "xtype": "ColumnModel",
-                            "header": "Lang",
-                            "width": 200,
-                            "dataIndex": "lang",
-                            "|renderer": "function(v) { return String.format('{0}', v); }",
-                            "|xns": "Roo.grid",
-                            "*prop": "colModel[]"
-                        },
-                        {
-                            "xtype": "ColumnModel",
-                            "header": "No reset sent",
-                            "width": 75,
-                            "dataIndex": "no_reset_sent",
-                            "|renderer": "function(v) { return String.format('{0}', v); }",
-                            "|xns": "Roo.grid",
-                            "*prop": "colModel[]"
-                        },
-                        {
+                            "header": "Email",
+                            "width": 100,
                             "xtype": "ColumnModel",
-                            "header": "Action type",
-                            "width": 200,
-                            "dataIndex": "action_type",
                             "|renderer": "function(v) { return String.format('{0}', v); }",
                             "|xns": "Roo.grid",
-                            "*prop": "colModel[]"
+                            "sortable": true,
+                            "listeners": {}
                         },
                         {
+                            "*prop": "colModel[]",
+                            "dataIndex": "company_id_name",
+                            "header": "Company",
+                            "sortable": true,
+                            "width": 120,
                             "xtype": "ColumnModel",
-                            "header": "Project",
-                            "width": 75,
-                            "dataIndex": "project_id",
                             "|renderer": "function(v) { return String.format('{0}', v); }",
-                            "|xns": "Roo.grid",
-                            "*prop": "colModel[]"
+                            "|xns": "Roo.grid"
                         }
                     ]
                 }