{
"id": "roo-file-201",
"name": "Pman.Tab.BuilderDatabase",
"parent": "Pman.Tab.Builder",
"title": "Pman.Tab.BuilderDatabase",
"path": "/home/edward/gitlive/Pman.Builder/Pman.Tab.BuilderDatabase.bjs",
"items": [
{
"listeners": {
"activate": "function (_self)\n{\n _this.treepanel.tree.root.reload();\n}"
},
"background": true,
"region": "center",
"title": "Manage Database",
"xtype": "NestedLayoutPanel",
"|xns": "Roo",
"items": [
{
"|xns": "Roo",
"xtype": "BorderLayout",
"*prop": "layout",
"items": [
{
"*prop": "west",
"split": true,
"width": 150,
"xtype": "LayoutRegion",
"|xns": "Roo"
},
{
"*prop": "center",
"xtype": "LayoutRegion",
"|xns": "Roo"
},
{
"listeners": {
"render": "function (_self)\n{\n _this.treepanel = _self;\n}"
},
"region": "west",
"xtype": "TreePanel",
"|xns": "Roo",
"items": [
{
"|xns": "Roo",
"xtype": "Toolbar",
"*prop": "toolbar",
"items": [
{
"listeners": {
"click": "function (_self, e)\n{\n _this.treepanel.tree.root.reload();\n}"
},
"text": "Refresh/Manage Tables",
"xtype": "SplitButton",
"|xns": "Roo.Toolbar",
"items": [
{
"|xns": "Roo.menu",
"xtype": "Menu",
"*prop": "menu",
"items": [
{
"text": "Add Table/Container",
"xtype": "Item",
"|xns": "Roo.menu"
},
{
"|xns": "Roo.menu",
"xtype": "Separator"
},
{
"listeners": {
"click": "function (_self, e)\n{\n new Pman.Request({\n method: 'GET',\n url: baseURL + '/Roo/Builder_tables.php',\n params : {\n _sync : 1\n }\n });\n \n}"
},
"text": "Sync Tables",
"xtype": "Item",
"|xns": "Roo.menu"
},
{
"|xns": "Roo.menu",
"xtype": "Separator"
},
{
"listeners": {
"click": "function (_self, e)\n{\n/*\n var node = _this.treepanel.tree.getSelectionModel().getSelectedNode(); \n \n if(!node){\n Roo.MessageBox.alert('Error', 'Please select a table');\n return;\n } \n \n Roo.log(node.attributes.name);\n */\n new Pman.Download({\n url : baseURL + '/Roo/Builder_tables.php',\n timeout : 900000,\n params : {\n _dumpDatabase : 1\n },\n method : 'GET',\n success : function() {\n \n }\n });\n}"
},
"text": "Export Data",
"xtype": "Item",
"|xns": "Roo.menu"
}
]
}
]
}
]
},
{
"listeners": {
"beforeload": "function (node)\n{\n if (!_this.panel.active) {\n return false;\n }\n}",
"contextmenu": "function (node, e)\n{\n if (!node.expanded || node.leaf) {\n return;\n }\n\n _this.treepanel.menu = Roo.factory(_this.treepanel.menu);\n _this.treepanel.menu.show(node.ui.anchor,'tr');\n _this.cxnode = node;\n}",
"beforenodedrop": "function (dropEvent)\n{\n Roo.log(dropEvent);\n var node = dropEvent.dropNode;\n var targ = dropEvent.target;\n var parent = dropEvent.target;\n switch(dropEvent.point) {\n case 'below': \n case 'above': \n parent = dropEvent.target.parentNode;\n break;\n default:\n break;\n }\n // technically you should not be able to drag tables into other modules..\n if (parent.attributes.id < 1) {\n dropEvent.cancel = 1;\n }\n new Pman.Request({\n url : baseURL + '/Roo/Builder_tables',\n params : {\n id : node.attributes.id,\n parent_id : parent.attributes.id\n }\n });\n \n \n}"
},
"*prop": "tree",
"containerScroll": true,
"ddGroup": "dbtree",
"enableDD": true,
"rootVisible": false,
"xtype": "TreePanel",
"|xns": "Roo.tree",
"items": [
{
"listeners": {
"create": "function (_self, attr)\n{\n Roo.log(\"CREATE\");\n try {\n attr.text = attr.name.length ? attr.name : attr.descrip;\n \n attr.leaf = attr.name.length ? true : false;\n attr.html = String.format('{0}{1}',\n attr.name,\n attr.descrip\n );\n } catch(e) {\n Roo.log(e);\n }\n Roo.log(attr);\n\n}"
},
"*prop": "loader",
"queryParam": "parent_id",
"requestMethod": "GET",
"root": "data",
"xtype": "TreeLoader",
"|baseParams": " { _tree: 1, 'sort': 'name', dir: 'ASC', limit : 9999 }",
"|dataUrl": "baseURL + '/Roo/Builder_tables.php'",
"|xns": "Roo.tree"
},
{
"|xns": "Roo.tree",
"xtype": "MultiSelectionModel",
"*prop": "sm"
},
{
"*prop": "root",
"text": "TOP LEVEL",
"xtype": "AsyncTreeNode",
"|xns": "Roo.tree"
},
{
"listeners": {
"beforenodeedit": "function (_self,node)\n{\n Roo.log('before start edit');\n Roo.log(this.editNode);\n if (node.attributes.name.length) {\n return false;\n }\n return true;\n \n}",
"complete": "function (_self, value, startValue)\n{\n Roo.log(this.editNode);\n\n var attr = this.editNode.attributes;\n \n var pa = this.editNode.parentNode.attributes;\n Roo.log(pa);\n var pr = {\n \n parent_id : pa.id,\n descrip : value,\n name : '',\n dbschema : ''\n };\n \n if (attr.id > 0) {\n pr.id = attr.id;\n }\n \n new Pman.Request({\n url : baseURL + '/Roo/Builder_tables',\n method : 'POST',\n params : pr\n });\n \n \n \n}"
},
"*prop": "editor",
"xtype": "TreeEditor",
"|xns": "Roo.tree"
}
]
},
{
"|xns": "Roo.menu",
"xtype": "Menu",
"*prop": "menu",
"items": [
{
"listeners": {
"click": "function (_self, e)\n{\n _this.nIndex = _this.nIndex || 0;\n \n var m = _this.cxnode.firstChild ? 'insertBefore' : 'appendChild';\n var tree = _this.treepanel.tree;\n \n var n = tree.loader.createNode({\n id : -1,\n descrip :'New Group ' + (++_this.nIndex), \n name : ''\n }); \n \n var node = _this.cxnode[m]( n , _this.cxnode.firstChild);\n setTimeout(function(){\n tree.editor.editNode = node;\n tree.editor.startEdit(node.ui.textNode);\n }, 10);\n}"
},
"text": "Add Group",
"xtype": "Item",
"|xns": "Roo.menu"
},
{
"|xns": "Roo.menu",
"xtype": "Separator"
},
{
"listeners": {
"click": "function (_self, e)\n{\n _this.nIndex = _this.nIndex || 0;\n \n _this.cxnode;\n // try and delete it..\n new Pman.Request({\n url : baseURL + '/Roo/Builder_tables',\n params : {\n _delete : _this.cxnode.attributes.id\n },\n success : function() {\n _this.cxnode.parentNode.removeChild(_this.cxnode);\n _this.cxnode = false;\n \n }\n });\n \n}"
},
"text": "Remove Group",
"xtype": "Item",
"|xns": "Roo.menu"
}
]
}
]
},
{
"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": "Tables",
"title": "Tables",
"xtype": "GridPanel",
"|xns": "Roo",
"items": [
{
"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"
},
"*prop": "grid",
"autoExpandColumn": "table",
"loadMask": true,
"xtype": "Grid",
"|xns": "Roo.grid",
"items": [
{
"*prop": "dataSource",
"xtype": "Store",
"remoteSort": true,
"|sortInfo": "{ field : 'filename', direction: 'ASC' }",
"|xns": "Roo.data",
"items": [
{
"*prop": "proxy",
"method": "GET",
"xtype": "HttpProxy",
"|url": "baseURL + '/Builder/ERM.php'",
"|xns": "Roo.data"
},
{
"|xns": "Roo.data",
"xtype": "JsonReader",
"totalProperty": "total",
"root": "data",
"*prop": "reader",
"id": "id",
"|fields": "[\n {\n 'name': 'id',\n 'type': 'int'\n },\n {\n 'name': 'filename',\n 'type': 'string'\n },\n {\n 'name': 'ontable',\n 'type': 'string'\n },\n {\n 'name': 'onid',\n 'type': 'int'\n },\n {\n 'name': 'mimetype',\n 'type': 'string'\n },\n {\n 'name': 'width',\n 'type': 'int'\n },\n {\n 'name': 'height',\n 'type': 'int'\n },\n {\n 'name': 'filesize',\n 'type': 'int'\n },\n {\n 'name': 'displayorder',\n 'type': 'int'\n },\n {\n 'name': 'language',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id',\n 'type': 'int'\n },\n {\n 'name': 'created',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'imgtype',\n 'type': 'string'\n },\n {\n 'name': 'linkurl',\n 'type': 'string'\n },\n {\n 'name': 'descript',\n 'type': 'string'\n },\n {\n 'name': 'title',\n 'type': 'string'\n },\n {\n 'name': 'credit',\n 'type': 'string'\n },\n {\n 'name': 'source',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_id',\n 'type': 'int'\n },\n {\n 'name': 'parent_image_id_filename',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_ontable',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_onid',\n 'type': 'int'\n },\n {\n 'name': 'parent_image_id_mimetype',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_width',\n 'type': 'int'\n },\n {\n 'name': 'parent_image_id_height',\n 'type': 'int'\n },\n {\n 'name': 'parent_image_id_filesize',\n 'type': 'int'\n },\n {\n 'name': 'parent_image_id_displayorder',\n 'type': 'int'\n },\n {\n 'name': 'parent_image_id_language',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_parent_image_id',\n 'type': 'int'\n },\n {\n 'name': 'parent_image_id_created',\n 'type': 'date'\n },\n {\n 'name': 'parent_image_id_imgtype',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_linkurl',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_descript',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_title',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_credit',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_source',\n 'type': 'string'\n }\n]"
}
]
},
{
"*prop": "footer",
"xtype": "PagingToolbar",
"pageSize": 25,
"displayInfo": true,
"displayMsg": "Displaying Images{0} - {1} of {2}",
"emptyMsg": "No Images found",
"|xns": "Roo"
},
{
"*prop": "toolbar",
"xtype": "Toolbar",
"|xns": "Roo",
"items": [
{
"listeners": {
"|click": "function()\n{\n Roo.MessageBox.alert(\"Updating\", \"Updating the cache\");\n new Pman.Request({\n url : baseURL + '/Core/RefreshDatabaseCache',\n method : 'GET',\n success : function() {\n Roo.MessageBox.hide();\n }\n });\n}\n"
},
"cls": "x-btn-text-icon",
"text": "Refresh Schema",
"xtype": "Button",
"|icon": "Roo.rootURL + 'images/default/dd/drop-add.gif'",
"|xns": "Roo.Toolbar"
}
]
},
{
"*prop": "colModel[]",
"dataIndex": "table",
"header": "Table",
"width": 200,
"xtype": "ColumnModel",
"|renderer": "function(v) { return String.format('{0}', v); }",
"|xns": "Roo.grid"
}
]
}
]
}
]
}
]
}
],
"permname": "",
"modOrder": "999"
}