Fix #7123 - getting abra ready to test
[Pman.Xtuple] / Pman.Tab.XtupleMetric.bjs
index 43deb24..733f542 100644 (file)
 {
     "id": "roo-file-374",
     "name": "Pman.Tab.XtupleMetric",
-    "parent": "Pman.Admin",
+    "parent": "Pman.Tab.Admin",
     "title": "",
     "path": "/home/edward/gitlive/web.xtuple/Pman/Xtuple/Pman.Tab.XtupleMetric.bjs",
-    "items": [],
+    "items": [
+        {
+            "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": "center",
+            "tableName": "metric",
+            "title": "Metric",
+            "xtype": "GridPanel",
+            "|xns": "Roo",
+            "items": [
+                {
+                    "listeners": {
+                        "|render": "function() \n{\n    _this.grid = this; \n    if (_this.panel.active) {\n       this.footer.onClick('first');\n    }\n}",
+                        "afteredit": "function (e)\n{\n    if(e.originalValue == e.value || !e.value.length){\n        return false;\n    }\n    \n    e.record.commit();\n}"
+                    },
+                    "*prop": "grid",
+                    "autoExpandColumn": "metric_value",
+                    "clicksToEdit": 1,
+                    "loadMask": true,
+                    "xtype": "EditorGrid",
+                    "|xns": "Roo.grid",
+                    "items": [
+                        {
+                            "listeners": {
+                                "beforeload": "function (_self, o){\n    o.params = o.params || {};\n    \n    var s = _this.searchBox.getValue();\n    \n    if(!s || !s.length){\n        return;\n    }\n    \n    o.params['search[name]'] = s;\n}\n",
+                                "update": "function (_self, record, operation)\n{\n    if (operation != Roo.data.Record.COMMIT) {\n        return;\n    }\n\n    if (!record.data.metric_name.length || !record.data.metric_value.length) {\n        return;\n    }\n    \n    new Pman.Request({\n        url : baseURL + '/Roo/Metric',\n        method : 'POST',\n        params : record.data,\n        success : function(res) {\n            _this.grid.footer.onClick('refresh');\n        }\n    });\n    \n}"
+                            },
+                            "*prop": "dataSource",
+                            "remoteSort": true,
+                            "xtype": "Store",
+                            "|sortInfo": "{ field : 'metric_name', direction: 'ASC' }",
+                            "|xns": "Roo.data",
+                            "items": [
+                                {
+                                    "*prop": "proxy",
+                                    "method": "GET",
+                                    "timeout": 90000,
+                                    "xtype": "HttpProxy",
+                                    "|url": "baseURL + '/Xtuple/Roo/Metric.php'",
+                                    "|xns": "Roo.data"
+                                },
+                                {
+                                    "*prop": "reader",
+                                    "id": "metric_id",
+                                    "root": "data",
+                                    "totalProperty": "total",
+                                    "xtype": "JsonReader",
+                                    "|fields": "[\n    {\n        'name': 'metric_id',\n        'type': 'int'\n    },\n    {\n        'name': 'metric_name',\n        'type': 'string'\n    },\n    {\n        'name': 'metric_value',\n        'type': 'string'\n    },\n    {\n        'name': 'metric_module',\n        'type': 'string'\n    }\n]",
+                                    "|xns": "Roo.data"
+                                }
+                            ]
+                        },
+                        {
+                            "|xns": "Roo",
+                            "xtype": "Toolbar",
+                            "*prop": "toolbar",
+                            "items": [
+                                {
+                                    "listeners": {
+                                        "specialkey": "function (_self, e)\n{\n  _this.grid.footer.onClick('first');\n}",
+                                        "render": "function (_self)\n{\n    _this.searchBox = _self;\n}"
+                                    },
+                                    "xtype": "TextField",
+                                    "|xns": "Roo.form"
+                                },
+                                {
+                                    "listeners": {
+                                        "click": "function (_self, e)\n{\n    _this.grid.footer.onClick('first');\n}"
+                                    },
+                                    "cls": "x-btn-icon",
+                                    "xtype": "Button",
+                                    "|icon": "rootURL + '/Pman/templates/images/search.gif'",
+                                    "|xns": "Roo.Toolbar"
+                                },
+                                {
+                                    "listeners": {
+                                        "click": "function (_self, e)\n{\n    _this.searchBox.setValue('');\n    _this.grid.footer.onClick('first');\r\n}"
+                                    },
+                                    "cls": "x-btn-icon",
+                                    "xtype": "Button",
+                                    "|icon": "rootURL + '/Pman/templates/images/edit-clear.gif'",
+                                    "|xns": "Roo.Toolbar"
+                                },
+                                {
+                                    "|xns": "Roo.Toolbar",
+                                    "xtype": "Fill"
+                                },
+                                {
+                                    "listeners": {
+                                        "|click": "function()\n{\n    \n    var nr = _this.grid.ds.reader.newRow({\n        metric_id : 0,\n        metric_name : '',\n        metric_value : '',\n        metric_module : ''\n    });\n    \n    _this.grid.stopEditing();\n    _this.grid.ds.insert(0, nr); \n    _this.grid.startEditing(0, 0);\n}\n"
+                                    },
+                                    "cls": "x-btn-text-icon",
+                                    "text": "Add",
+                                    "xtype": "Button",
+                                    "|icon": "Roo.rootURL + 'images/default/dd/drop-add.gif'",
+                                    "|xns": "Roo.Toolbar"
+                                },
+                                {
+                                    "listeners": {
+                                        "|click": "function ()\n{   \n    var cs = _this.grid.getSelectionModel().getSelectedCell();\n    \n    if (!cs) {\n        Roo.MessageBox.alert(\"Error\", \"Select a cell\");\n        return;\n    }\n    _this.grid.stopEditing();\n \n    var r = _this.grid.ds.getAt(cs[0]);\n    \n    Roo.MessageBox.confirm(\"Confirm\", \"Are you sure you want to delete this metric?\", function (v){\n        if (v != 'yes') {\n            return;\n        }\n        \n        new Pman.Request({\n            url : baseURL + '/Roo/Metric',\n            method : 'POST',\n            params : {\n                _delete : r.data.id\n            },\n            success : function(res) {\n                _this.grid.footer.onClick('refresh');\n            }\n        });\n    });\n}"
+                                    },
+                                    "cls": "x-btn-text-icon",
+                                    "text": "Remove",
+                                    "xtype": "Button",
+                                    "|icon": "rootURL + '/Pman/templates/images/trash.gif'",
+                                    "|xns": "Roo.Toolbar"
+                                }
+                            ]
+                        },
+                        {
+                            "*prop": "footer",
+                            "displayInfo": true,
+                            "emptyMsg": "No Metric found",
+                            "pageSize": 50,
+                            "xtype": "PagingToolbar",
+                            "|xns": "Roo"
+                        },
+                        {
+                            "*prop": "colModel[]",
+                            "dataIndex": "metric_name",
+                            "header": "Name",
+                            "width": 250,
+                            "xtype": "ColumnModel",
+                            "|renderer": "function(v) { return String.format('{0}', v); }",
+                            "|xns": "Roo.grid",
+                            "items": [
+                                {
+                                    "|xns": "Roo.grid",
+                                    "xtype": "GridEditor",
+                                    "*prop": "editor",
+                                    "items": [
+                                        {
+                                            "*prop": "field",
+                                            "allowBlank": false,
+                                            "xtype": "TextField",
+                                            "|xns": "Roo.form"
+                                        }
+                                    ]
+                                }
+                            ]
+                        },
+                        {
+                            "*prop": "colModel[]",
+                            "dataIndex": "metric_value",
+                            "header": "Value",
+                            "width": 150,
+                            "xtype": "ColumnModel",
+                            "|renderer": "function(v) { return String.format('{0}', v); }",
+                            "|xns": "Roo.grid",
+                            "items": [
+                                {
+                                    "|xns": "Roo.grid",
+                                    "xtype": "GridEditor",
+                                    "*prop": "editor",
+                                    "items": [
+                                        {
+                                            "*prop": "field",
+                                            "allowBlank": false,
+                                            "xtype": "TextField",
+                                            "|xns": "Roo.form"
+                                        }
+                                    ]
+                                }
+                            ]
+                        },
+                        {
+                            "*prop": "colModel[]",
+                            "dataIndex": "metric_module",
+                            "header": "Module",
+                            "width": 100,
+                            "xtype": "ColumnModel",
+                            "|renderer": "function(v) { return String.format('{0}', v); }",
+                            "|xns": "Roo.grid",
+                            "items": [
+                                {
+                                    "|xns": "Roo.grid",
+                                    "xtype": "GridEditor",
+                                    "*prop": "editor",
+                                    "items": [
+                                        {
+                                            "*prop": "field",
+                                            "allowBlank": false,
+                                            "xtype": "TextField",
+                                            "|xns": "Roo.form"
+                                        }
+                                    ]
+                                }
+                            ]
+                        }
+                    ]
+                }
+            ]
+        }
+    ],
     "permname": "",
     "modOrder": "900"
 }
\ No newline at end of file