{
- "id": "roo-file-94",
+ "id": "roo-file-31",
"name": "Pman.Dialog.CoreNotifyRecur",
"parent": "",
"title": "",
- "path": "/home/alan/gitlive/Pman.Core/Pman.Dialog.CoreNotifyRecur.bjs",
+ "path": "/home/chris/gitlive/Pman.Core/Pman.Dialog.CoreNotifyRecur.bjs",
"items": [
{
"listeners": {
"show": "function (_self)\n{\n _this.grid.ds.load({});\n}"
},
- "height": 500,
+ "height": 550,
"modal": true,
"resizable": false,
"title": "Modify Recurrent Notifications",
"items": [
{
"listeners": {
- "|click": "function()\n{\n var grid = _this.grid;\n var r = grid.getDataSource().reader.newRow({\n // defaults..\n person_id : _this.data.person_id,\n dtstart : new Date(),\n dtend : Date.parseDate('2030-01-01', 'Y-m-d'),\n tz : 'Asia/Hong Kong',\n onid : _this.data.onid,\n ontable : _this.data.ontable,\n method : _this.data.method,\n last_event_id : 0,\n freq_day_name : '',\n freq_hour_name : '',\n freq_name : ''\n \n \n });\n grid.stopEditing();\n grid.getDataSource().insert(0, r); \n grid.startEditing(0, 2); \n \n\n}\n"
+ "|click": "function()\n{\n var grid = _this.grid;\n var r = grid.getDataSource().reader.newRow({\n // defaults..\n person_id : _this.data.person_id,\n dtstart : new Date(),\n dtend : Date.parseDate('2050-01-01', 'Y-m-d'),\n tz : 'Asia/Hong_Kong',\n onid : _this.data.onid,\n ontable : _this.data.ontable,\n method : _this.data.method, // default...\n \n method_id : _this.data.method_id, // default...\n method_id_display_name : _this.data.method_id_display_name, // default... \n \n last_event_id : 0,\n freq_day_name : '',\n freq_hour_name : '',\n freq_name : ''\n \n \n });\n grid.stopEditing();\n grid.getDataSource().insert(0, r); \n grid.startEditing(0, 2); \n \n\n}\n"
},
"cls": "x-btn-text-icon",
"text": "Add",
},
{
"listeners": {
- "|click": "function()\n{\n _this.grid.stopEditing();\n var s = _this.grid.selModel.getSelectedCell()\n if (!s) {\n Roo.MessageBox.alert(\"Error\", \"Select row\");\n return;\n }\n \n new Pman.Request({\n url : baseURL + '/Roo/core_notify_recur',\n method : 'POST',\n params : {\n _delete : _this.grid.ds.getAt(s[0]).data.id,\n }, \n success : function() {\n _this.grid.ds.load({});\n },\n failure : function() {\n Roo.MessageBox.alert(\"Error\", \"Deleting failed - try reloading\");\n }\n });\n \n}\n "
+ "|click": "function()\n{\n _this.grid.stopEditing();\n var s = _this.grid.selModel.getSelectedCell();\n if (!s) {\n Roo.MessageBox.alert(\"Error\", \"Select row\");\n return;\n }\n \n new Pman.Request({\n url : baseURL + '/Roo/core_notify_recur',\n method : 'POST',\n params : {\n _delete : _this.grid.ds.getAt(s[0]).data.id\n }, \n success : function() {\n _this.grid.ds.load({});\n },\n failure : function() {\n Roo.MessageBox.alert(\"Error\", \"Deleting failed - try reloading\");\n }\n });\n \n}\n "
},
"cls": "x-btn-text-icon",
"text": "Delete",
}
]
},
+ {
+ "*prop": "colModel[]",
+ "dataIndex": "method_id",
+ "header": "Type",
+ "width": 120,
+ "xtype": "ColumnModel",
+ "|renderer": "function(v,x,r) {\n return String.format('{0}', r.data.method_id_display_name); \n}",
+ "|xns": "Roo.grid",
+ "items": [
+ {
+ "|xns": "Roo.grid",
+ "xtype": "GridEditor",
+ "*prop": "editor",
+ "items": [
+ {
+ "*prop": "field",
+ "allowBlank": "false",
+ "displayField": "display_name",
+ "editable": false,
+ "emptyText": "Select Type",
+ "fieldLabel": "core_enum",
+ "forceSelection": true,
+ "hiddenName": "method_id",
+ "listWidth": 400,
+ "loadingText": "Searching...",
+ "name": "method_id_display_name",
+ "pageSize": 20,
+ "qtip": "Select core_enum",
+ "selectOnFocus": true,
+ "tpl": "<div class=\"x-grid-cell-text x-btn button\"><b>{display_name}</b> </div>",
+ "triggerAction": "all",
+ "typeAhead": true,
+ "valueField": "id",
+ "width": 300,
+ "xtype": "ComboBox",
+ "|xns": "Roo.form",
+ "items": [
+ {
+ "listeners": {
+ "|beforeload": "function (_self, o){\n o.params = o.params || {};\n // set more here\n o.params.etype = 'core_notify_recur';\n}\n"
+ },
+ "*prop": "store",
+ "remoteSort": true,
+ "xtype": "Store",
+ "|sortInfo": "{ direction : 'ASC', field: 'id' }",
+ "|xns": "Roo.data",
+ "items": [
+ {
+ "*prop": "proxy",
+ "xtype": "HttpProxy",
+ "method": "GET",
+ "|xns": "Roo.data",
+ "|url": "baseURL + '/Roo/core_enum.php'"
+ },
+ {
+ "*prop": "reader",
+ "xtype": "JsonReader",
+ "|xns": "Roo.data",
+ "id": "id",
+ "root": "data",
+ "totalProperty": "total",
+ "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"etype\",\"type\":\"string\"}]"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
{
"*prop": "colModel[]",
"dataIndex": "dtstart",
{
"*prop": "store",
"xtype": "SimpleStore",
- "|data": "(function() { \n var ret = [];\n for (var i = 5; i < 25; i++) {\n var h = i < 10 ? ('0' + i) : i;\n var mer = i < 12 || i > 23 ? 'am' : 'pm';\n var dh = i < 13 ? i : i-12;\n \n ret.push([ h+':00', dh+':00' + mer ]);\n ret.push([ h+':00', dh+':30' + mer ]); \n }\n return ret;\n})()",
+ "|data": "(function() { \n var ret = [];\n for (var i = 5; i < 25; i++) {\n var h = i < 10 ? ('0' + i) : i;\n var mer = i < 12 || i > 23 ? 'am' : 'pm';\n var dh = i < 13 ? i : i-12;\n \n ret.push([ h+':00', dh+':00' + mer ]);\n ret.push([ h+':30', dh+':30' + mer ]); \n }\n return ret;\n})()",
"|fields": "['code', 'title']",
"|sortInfo": "{ field : 'title', direction: 'ASC' }",
"|xns": "Roo.data"
"emptyText": "Select timezone",
"fieldLabel": "core_enum",
"forceSelection": true,
- "hiddenName": "tz",
"listWidth": 400,
"loadingText": "Searching...",
"minChars": 2,
- "name": "tz_name",
+ "name": "tz",
"pageSize": 999,
"qtip": "Select timezone",
"queryParam": "q",
"tpl": "<div class=\"x-grid-cell-text x-btn button\"><b>{tz}</b> </div>",
"triggerAction": "all",
"typeAhead": true,
- "valueField": "tz",
"width": 300,
"xtype": "ComboBox",
"|xns": "Roo.form",
]
},
{
- "xtype": "ColumnModel",
- "header": "Last event",
- "width": 75,
+ "*prop": "colModel[]",
"dataIndex": "last_event_id",
- "|renderer": "function(v) { return String.format('{0}', v); }",
- "|xns": "Roo.grid",
- "*prop": "colModel[]"
+ "header": "Last Sent",
+ "width": 75,
+ "xtype": "ColumnModel",
+ "|renderer": "function(v) { return String.format('{0}', v ? v : 'never'); }",
+ "|xns": "Roo.grid"
}
]
}