X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=Pman.Dialog.CoreNotifyRecur.bjs;h=a2fe7b968bd76a34135fe23b823661217c9ede4e;hp=b82c69515c4ea2aaa26d3437499a143f8eec992d;hb=8cd2a9237c684aa16bc21e3ac6d3793c49c65400;hpb=94047a20dc22d6930b9ec6b5152e2f9db0903e74 diff --git a/Pman.Dialog.CoreNotifyRecur.bjs b/Pman.Dialog.CoreNotifyRecur.bjs index b82c6951..a2fe7b96 100644 --- a/Pman.Dialog.CoreNotifyRecur.bjs +++ b/Pman.Dialog.CoreNotifyRecur.bjs @@ -1,344 +1,432 @@ { - "id": "roo-file-94", - "name": "Pman.Dialog.CoreNotifyRecur", - "parent": "", - "title": "", - "path": "/home/alan/gitlive/Pman.Core/Pman.Dialog.CoreNotifyRecur.bjs", - "items": [ + "name" : "Pman.Dialog.CoreNotifyRecur", + "parent" : "", + "title" : "", + "path" : "/home/edward/gitlive/Pman.Core/Pman.Dialog.CoreNotifyRecur.bjs", + "permname" : "", + "modOrder" : "001", + "strings" : { + "3728af837fe70019577ddb0ed7125ee5" : "Until", + "ec211f7c20af43e742bf2570c3cb84f9" : "Add", + "023a5dfa857c4aa0156e6685231a1dbd" : "Select Type", + "6c768695a8efb18436d5b7b4374cdb45" : "Select core_enum", + "157e432ec303efd7d537b653cb255ccc" : "on day(s)", + "236df51bb0e6416236e255b528346fca" : "Timezone", + "44c68bed631ff6e62aecc4a4d32176e6" : "Select timezone", + "1243daf593fa297e07ab03bf06d925af" : "Searching...", + "b26686c0a708faee42861d8b905e882e" : "Last Sent", + "c1d32776cd2d2afcd2c45a52f58679f4" : "Modify Recurrent Notifications", + "5da618e8e4b89c66fe86e32cdafde142" : "From", + "ce527d7432bab413730f25c794648e46" : "at Hour(s)", + "c7179f16884513c990b6cbf44aef7fc3" : "core_notify_recur", + "f2a6c498fb90ee345d997f888fce3b18" : "Delete", + "a1fa27779242b4902f7ae3bdd5c6d508" : "Type", + "f92965e2c8a7afb3c1b9a5c09a263636" : "Done" + }, + "items" : [ + { + "listeners" : { + "show" : "function (_self)\n{\n _this.grid.ds.load({});\n}" + }, + "modal" : true, + "xtype" : "LayoutDialog", + "title" : "Modify Recurrent Notifications", + "width" : 800, + "$ xns" : "Roo", + "resizable" : true, + "height" : 550, + "items" : [ + { + "loadOnce" : true, + "autoScroll" : true, + "xtype" : "LayoutRegion", + "$ xns" : "Roo", + "* prop" : "center" + }, + { + "listeners" : { + "|activate" : "function() {\n _this.panel = this;\n if (_this.grid) {\n// _this.grid.footer.onClick('first');\n }\n}" + }, + "region" : "center", + "fitToFrame" : true, + "background" : false, + "title" : "core_notify_recur", + "xtype" : "GridPanel", + "fitContainer" : true, + "$ xns" : "Roo", + "tableName" : "core_notify_recur", + "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}", + "afteredit" : "function (e)\n{\n e.record.commit();\n}" + }, + "autoExpandColumn" : "freq_day", + "xtype" : "EditorGrid", + "loadMask" : true, + "clicksToEdit" : 1, + "$ xns" : "Roo.grid", + "* prop" : "grid", + "items" : [ { - "listeners": { - "show": "function (_self)\n{\n _this.grid.ds.load({});\n}" - }, - "height": 500, - "modal": true, - "resizable": false, - "title": "Modify Recurrent Notifications", - "width": 800, - "xtype": "LayoutDialog", - "|xns": "Roo", - "items": [ + "listeners" : { + "update" : "function (_self, record, operation)\n{\n //Roo.log(operation);\n if (operation != 'commit') {\n return;\n }\n var p = Roo.apply({}, record.data);\n p.dtstart = record.data.dtstart.format('Y-m-d');\n p.dtend = record.data.dtend.format('Y-m-d'); \n \n \n new Pman.Request({\n url : baseURL + '/Roo/Core_notify_recur',\n method :'POST',\n params : p,\n success : function(data)\n {\n //Roo.log(data);\n record.set('id', data.data.id);\n },\n failure : function() {\n Roo.MessageBox.alert(\"Error\", \"There was a problem saving\");\n }\n });\n \n \n \n}", + "beforeload" : "function (_self, o)\n{\n if (!_this.data) {\n return false;\n }\n o.params = Roo.apply(o.params || {}, {\n person_id : _this.data.person_id,\n onid : _this.data.onid,\n ontable : _this.data.ontable,\n method : _this.data.method\n });\n \n}" + }, + "xtype" : "Store", + "remoteSort" : true, + "$ sortInfo" : "{ field : 'freq', direction: 'ASC' }", + "$ xns" : "Roo.data", + "* prop" : "dataSource", + "items" : [ + { + "$ url" : "baseURL + '/Roo/core_notify_recur.php'", + "xtype" : "HttpProxy", + "method" : "GET", + "$ xns" : "Roo.data", + "* prop" : "proxy" + }, + { + "id" : "id", + "root" : "data", + "xtype" : "JsonReader", + "$ fields" : "[\n {\n 'name': 'id',\n 'type': 'int'\n },\n {\n 'name': 'person_id',\n 'type': 'int'\n },\n {\n 'name': 'dtstart',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'dtend',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'tz',\n 'type': 'float'\n },\n {\n 'name': 'last_applied_dt',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'freq',\n 'type': 'string'\n },\n {\n 'name': 'freq_day',\n 'type': 'string'\n },\n {\n 'name': 'freq_hour',\n 'type': 'string'\n },\n {\n 'name': 'last_event_id',\n 'type': 'int'\n },\n {\n 'name': 'method',\n 'type': 'string'\n }\n]", + "$ xns" : "Roo.data", + "* prop" : "reader", + "totalProperty" : "total" + } + ] + }, + { + "xtype" : "Toolbar", + "$ xns" : "Roo", + "* prop" : "toolbar", + "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('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" + }, + "text" : "Add", + "xtype" : "Button", + "cls" : "x-btn-text-icon", + "$ icon" : "Roo.rootURL + 'images/default/dd/drop-add.gif'", + "$ xns" : "Roo.Toolbar" + }, + { + "xtype" : "Fill", + "$ xns" : "Roo.Toolbar" + }, + { + "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 " + }, + "text" : "Delete", + "xtype" : "Button", + "cls" : "x-btn-text-icon", + "$ icon" : "rootURL + '/Pman/templates/images/trash.gif'", + "$ xns" : "Roo.Toolbar" + } + ] + }, + { + "xtype" : "ColumnModel", + "width" : 120, + "header" : "Type", + "$ renderer" : "function(v,x,r) {\n return String.format('{0}', r.data.method_id_display_name); \n}", + "$ xns" : "Roo.grid", + "* prop" : "colModel[]", + "dataIndex" : "method_id", + "items" : [ + { + "xtype" : "GridEditor", + "$ xns" : "Roo.grid", + "* prop" : "editor", + "items" : [ + { + "listWidth" : 400, + "triggerAction" : "all", + "fieldLabel" : "core_enum", + "forceSelection" : true, + "selectOnFocus" : true, + "pageSize" : 20, + "displayField" : "display_name", + "emptyText" : "Select Type", + "hiddenName" : "method_id", + "valueField" : "id", + "xtype" : "ComboBox", + "allowBlank" : false, + "typeAhead" : true, + "editable" : false, + "width" : 300, + "$ xns" : "Roo.form", + "* prop" : "field", + "name" : "method_id_display_name", + "qtip" : "Select core_enum", + "tpl" : "
{display_name}
", + "loadingText" : "Searching...", + "items" : [ + { + "listeners" : { + "|beforeload" : "function (_self, o){\n o.params = o.params || {};\n // set more here\n o.params.etype = 'core_notify_recur';\n}\n" + }, + "xtype" : "Store", + "remoteSort" : true, + "$ sortInfo" : "{ direction : 'ASC', field: 'id' }", + "$ xns" : "Roo.data", + "* prop" : "store", + "items" : [ { - "*prop": "center", - "autoScroll": true, - "loadOnce": true, - "xtype": "LayoutRegion", - "|xns": "Roo" + "$ url" : "baseURL + '/Roo/core_enum.php'", + "xtype" : "HttpProxy", + "method" : "GET", + "$ xns" : "Roo.data", + "* prop" : "proxy" }, { - "listeners": { - "|activate": "function() {\n _this.panel = this;\n if (_this.grid) {\n// _this.grid.footer.onClick('first');\n }\n}" - }, - "background": false, - "fitContainer": true, - "fitToFrame": true, - "region": "center", - "tableName": "core_notify_recur", - "title": "core_notify_recur", - "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).data, function() {\n _this.grid.footer.onClick('first');\n }); \n}\n", - "afteredit": "function (e)\n{\n e.record.commit();\n}" - }, - "*prop": "grid", - "autoExpandColumn": "freq_day", - "clicksToEdit": 1, - "loadMask": true, - "xtype": "EditorGrid", - "|xns": "Roo.grid", - "items": [ - { - "listeners": { - "update": "function (_self, record, operation)\n{\n Roo.log(operation);\n if (operation != 'commit') {\n return;\n }\n new Pman.Request({\n url : baseURL + '/Roo/Core_notify_recur',\n method :'POST',\n params : record.data,\n success : function()\n {\n //??\n },\n failure : function() {\n Roo.MessageBox.alert(\"Error\", \"There was a problem saving\");\n }\n });\n \n \n \n}", - "beforeload": "function (_self, o)\n{\n if (!_this.data) {\n return false;\n }\n o.params = Roo.apply(o.params || {}, {\n person_id : _this.data.person_id,\n onid : _this.data.onid,\n ontable : _this.data.ontable,\n method : _this.data.method\n });\n \n}" - }, - "*prop": "dataSource", - "remoteSort": true, - "xtype": "Store", - "|sortInfo": "{ field : 'freq', direction: 'ASC' }", - "|xns": "Roo.data", - "items": [ - { - "*prop": "proxy", - "xtype": "HttpProxy", - "method": "GET", - "|url": "baseURL + '/Roo/core_notify_recur.php'", - "|xns": "Roo.data" - }, - { - "*prop": "reader", - "id": "id", - "root": "data", - "totalProperty": "total", - "xtype": "JsonReader", - "|fields": "[\n {\n 'name': 'id',\n 'type': 'int'\n },\n {\n 'name': 'person_id',\n 'type': 'int'\n },\n {\n 'name': 'dtstart',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'dtend',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'tz',\n 'type': 'float'\n },\n {\n 'name': 'last_applied_dt',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'freq',\n 'type': 'string'\n },\n {\n 'name': 'freq_day',\n 'type': 'string'\n },\n {\n 'name': 'freq_hour',\n 'type': 'string'\n },\n {\n 'name': 'last_event_id',\n 'type': 'int'\n },\n {\n 'name': 'method',\n 'type': 'string'\n }\n]", - "|xns": "Roo.data" - } - ] - }, - { - "*prop": "toolbar", - "xtype": "Toolbar", - "|xns": "Roo", - "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(0),\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,\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", - "xtype": "Button", - "|icon": "Roo.rootURL + 'images/default/dd/drop-add.gif'", - "|xns": "Roo.Toolbar" - }, - { - "|xns": "Roo.Toolbar", - "xtype": "Fill" - }, - { - "text": "Delete", - "cls": "x-btn-text-icon", - "|icon": "rootURL + '/Pman/templates/images/trash.gif'", - "xtype": "Button", - "listeners": { - "|click": "function()\n{\n Pman.genericDelete(_this, 'core_notify_recur'); \n}\n " - }, - "|xns": "Roo.Toolbar" - } - ] - }, - { - "*prop": "colModel[]", - "dataIndex": "dtstart", - "header": "From", - "width": 75, - "xtype": "ColumnModel", - "|renderer": "function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }", - "|xns": "Roo.grid", - "items": [ - { - "|xns": "Roo.grid", - "xtype": "GridEditor", - "*prop": "editor", - "items": [ - { - "|xns": "Roo.form", - "xtype": "DateField", - "*prop": "field" - } - ] - } - ] - }, - { - "*prop": "colModel[]", - "dataIndex": "dtend", - "header": "Until", - "width": 75, - "xtype": "ColumnModel", - "|renderer": "function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }", - "|xns": "Roo.grid", - "items": [ - { - "|xns": "Roo.grid", - "xtype": "GridEditor", - "*prop": "editor", - "items": [ - { - "|xns": "Roo.form", - "xtype": "DateField", - "*prop": "field" - } - ] - } - ] - }, - { - "*prop": "colModel[]", - "dataIndex": "freq_day", - "header": "on day(s)", - "width": 100, - "xtype": "ColumnModel", - "|renderer": "function(v,x,r) { \n \n return String.format('{0}', r.data.freq_day_name || v); \n \n}", - "|xns": "Roo.grid", - "items": [ - { - "|xns": "Roo.grid", - "xtype": "GridEditor", - "*prop": "editor", - "items": [ - { - "*prop": "field", - "allowBlank": false, - "displayField": "title", - "editable": false, - "fieldLabel": "Country", - "hiddenName": "freq_day", - "listWidth": 300, - "mode": "local", - "name": "freq_day_name", - "pageSize": 40, - "triggerAction": "all", - "valueField": "code", - "xtype": "ComboCheck", - "|xns": "Roo.form", - "items": [ - { - "*prop": "store", - "xtype": "SimpleStore", - "|data": "(function() { \n var ret = [];\n Roo.each(Date.dayNames, function(d) {\n ret.push([ d.substring(0,3).toUpperCase(), d ]);\n });\n return ret;\n})()", - "|fields": "['code', 'title']", - "|sortInfo": "{ field : 'title', direction: 'ASC' }", - "|xns": "Roo.data" - } - ] - } - ] - } - ] - }, - { - "*prop": "colModel[]", - "dataIndex": "freq_hour", - "header": "at Hour(s)", - "width": 250, - "xtype": "ColumnModel", - "|renderer": "function(v,x,r) { \n \n return String.format('{0}', r.data.freq_hour_name || v); \n \n}", - "|xns": "Roo.grid", - "items": [ - { - "|xns": "Roo.grid", - "xtype": "GridEditor", - "*prop": "editor", - "items": [ - { - "*prop": "field", - "allowBlank": false, - "displayField": "title", - "editable": false, - "fieldLabel": "Country", - "hiddenName": "freq_hour", - "listWidth": 300, - "mode": "local", - "name": "freq_hour_name", - "pageSize": 40, - "triggerAction": "all", - "valueField": "code", - "xtype": "ComboCheck", - "|xns": "Roo.form", - "items": [ - { - "*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})()", - "|fields": "['code', 'title']", - "|sortInfo": "{ field : 'title', direction: 'ASC' }", - "|xns": "Roo.data" - } - ] - } - ] - } - ] - }, - { - "*prop": "colModel[]", - "dataIndex": "tz", - "header": "Timezone", - "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", - "displayField": "tz", - "editable": true, - "emptyText": "Select timezone", - "fieldLabel": "core_enum", - "forceSelection": true, - "hiddenName": "tz", - "listWidth": 400, - "loadingText": "Searching...", - "minChars": 2, - "name": "tz_name", - "pageSize": 999, - "qtip": "Select timezone", - "queryParam": "q", - "selectOnFocus": true, - "tpl": "
{tz}
", - "triggerAction": "all", - "typeAhead": true, - "valueField": "tz", - "width": 300, - "xtype": "ComboBox", - "|xns": "Roo.form", - "items": [ - { - "listeners": { - "|beforeload": "function (_self, o){\n o.params = o.params || {};\n // set more here\n}\n" - }, - "*prop": "store", - "remoteSort": true, - "xtype": "Store", - "|sortInfo": "{ direction : 'ASC', field: 'tz' }", - "|xns": "Roo.data", - "items": [ - { - "*prop": "proxy", - "method": "GET", - "xtype": "HttpProxy", - "|url": "baseURL + '/Core/I18n/Timezone.php'\n", - "|xns": "Roo.data" - }, - { - "*prop": "reader", - "id": "id", - "root": "data", - "totalProperty": "total", - "xtype": "JsonReader", - "|fields": "[{\"name\":\"tz\",\"type\":\"string\"}]", - "|xns": "Roo.data" - } - ] - } - ] - } - ] - } - ] - }, - { - "xtype": "ColumnModel", - "header": "Last event", - "width": 75, - "dataIndex": "last_event_id", - "|renderer": "function(v) { return String.format('{0}', v); }", - "|xns": "Roo.grid", - "*prop": "colModel[]" - } - ] - } - ] + "id" : "id", + "root" : "data", + "xtype" : "JsonReader", + "$ xns" : "Roo.data", + "$ fields" : "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"etype\",\"type\":\"string\"}]", + "* prop" : "reader", + "totalProperty" : "total" + } + ] + } + ] + } + ] + } + ] + }, + { + "xtype" : "ColumnModel", + "width" : 75, + "header" : "From", + "$ renderer" : "function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }", + "$ xns" : "Roo.grid", + "* prop" : "colModel[]", + "dataIndex" : "dtstart", + "items" : [ + { + "xtype" : "GridEditor", + "$ xns" : "Roo.grid", + "* prop" : "editor", + "items" : [ + { + "xtype" : "DateField", + "$ xns" : "Roo.form", + "* prop" : "field" + } + ] + } + ] + }, + { + "xtype" : "ColumnModel", + "width" : 75, + "header" : "Until", + "$ renderer" : "function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }", + "$ xns" : "Roo.grid", + "* prop" : "colModel[]", + "dataIndex" : "dtend", + "items" : [ + { + "xtype" : "GridEditor", + "$ xns" : "Roo.grid", + "* prop" : "editor", + "items" : [ + { + "xtype" : "DateField", + "$ xns" : "Roo.form", + "* prop" : "field" + } + ] + } + ] + }, + { + "xtype" : "ColumnModel", + "width" : 150, + "header" : "on day(s)", + "$ renderer" : "function(v,x,r) { \n \n if (v.length) {\n \n var cm = _this.grid.colModel;\n \n var ci = cm.getColumnByDataIndex(this.name);\n \n var tv = [];\n var vals = Roo.decode(v);\n Roo.each(vals, function(k) {\n var r = this.findRecord(this.valueField, k);\n if(r){\n tv.push(r.data[this.displayField]);\n }else if(this.valueNotFoundText !== undefined){\n tv.push( this.valueNotFoundText );\n }\n },ci.editor.field);\n\n r.data[this.name + '_name'] = tv.join(', ');\n return String.format('{0}',tv.join(', '));\n\n \n \n }\n r.data[this.name + '_name'] = '';\n return String.format('{0}', r.data.freq_day_name || v); \n \n}", + "$ xns" : "Roo.grid", + "* prop" : "colModel[]", + "dataIndex" : "freq_day", + "items" : [ + { + "xtype" : "GridEditor", + "$ xns" : "Roo.grid", + "* prop" : "editor", + "items" : [ + { + "listWidth" : 300, + "triggerAction" : "all", + "fieldLabel" : "Country", + "pageSize" : 40, + "displayField" : "title", + "hiddenName" : "freq_day", + "valueField" : "code", + "xtype" : "ComboCheck", + "allowBlank" : false, + "editable" : false, + "$ xns" : "Roo.form", + "* prop" : "field", + "mode" : "local", + "name" : "freq_day_name", + "items" : [ + { + "| data" : "(function() { \n var ret = [];\n Roo.each(Date.dayNames, function(d) {\n ret.push([ d.substring(0,3).toUpperCase(), d ]);\n });\n return ret;\n})()", + "xtype" : "SimpleStore", + "$ fields" : "['code', 'title']", + "$ sortInfo" : "{ field : 'title', direction: 'ASC' }", + "$ xns" : "Roo.data", + "* prop" : "store" + } + ] + } + ] + } + ] + }, + { + "xtype" : "ColumnModel", + "width" : 100, + "header" : "at Hour(s)", + "$ renderer" : "function(v,x,r) { \n \n \n if (v.length) {\n \n var cm = _this.grid.colModel;\n \n var ci = cm.getColumnByDataIndex(this.name);\n \n var tv = [];\n var vals = Roo.decode(v);\n Roo.each(vals, function(k) {\n var r = this.findRecord(this.valueField, k);\n if(r){\n tv.push(r.data[this.displayField]);\n }else if(this.valueNotFoundText !== undefined){\n tv.push( this.valueNotFoundText );\n }\n },ci.editor.field);\n\n r.data[this.name + '_name'] = tv.join(', ');\n return String.format('{0}',tv.join(', '));\n\n \n \n }\n r.data[this.name + '_name'] = '';\n return String.format('{0}', r.data.freq_hour_name || v); \n \n}", + "$ xns" : "Roo.grid", + "* prop" : "colModel[]", + "dataIndex" : "freq_hour", + "items" : [ + { + "xtype" : "GridEditor", + "$ xns" : "Roo.grid", + "* prop" : "editor", + "items" : [ + { + "listWidth" : 300, + "triggerAction" : "all", + "fieldLabel" : "Country", + "pageSize" : 40, + "displayField" : "title", + "hiddenName" : "freq_hour", + "valueField" : "code", + "xtype" : "ComboCheck", + "allowBlank" : false, + "editable" : false, + "$ xns" : "Roo.form", + "* prop" : "field", + "mode" : "local", + "name" : "freq_hour_name", + "items" : [ + { + "| 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})()", + "xtype" : "SimpleStore", + "$ fields" : "['code', 'title']", + "$ sortInfo" : "{ field : 'title', direction: 'ASC' }", + "$ xns" : "Roo.data", + "* prop" : "store" + } + ] + } + ] + } + ] + }, + { + "xtype" : "ColumnModel", + "width" : 100, + "header" : "Timezone", + "$ renderer" : "function(v) { return String.format('{0}', v); }", + "$ xns" : "Roo.grid", + "* prop" : "colModel[]", + "dataIndex" : "tz", + "items" : [ + { + "xtype" : "GridEditor", + "$ xns" : "Roo.grid", + "* prop" : "editor", + "items" : [ + { + "listWidth" : 400, + "triggerAction" : "all", + "fieldLabel" : "core_enum", + "forceSelection" : true, + "selectOnFocus" : true, + "pageSize" : 999, + "displayField" : "tz", + "emptyText" : "Select timezone", + "minChars" : 2, + "xtype" : "ComboBox", + "allowBlank" : false, + "typeAhead" : true, + "editable" : true, + "width" : 300, + "$ xns" : "Roo.form", + "* prop" : "field", + "name" : "tz", + "qtip" : "Select timezone", + "queryParam" : "q", + "tpl" : "
{tz}
", + "loadingText" : "Searching...", + "items" : [ + { + "listeners" : { + "|beforeload" : "function (_self, o){\n o.params = o.params || {};\n // set more here\n}\n" + }, + "xtype" : "Store", + "remoteSort" : true, + "$ sortInfo" : "{ direction : 'ASC', field: 'tz' }", + "$ xns" : "Roo.data", + "* prop" : "store", + "items" : [ + { + "$ url" : "baseURL + '/Core/I18n/Timezone.php'\n", + "method" : "GET", + "xtype" : "HttpProxy", + "$ xns" : "Roo.data", + "* prop" : "proxy" }, { - "*prop": "buttons[]", - "text": "Done", - "xtype": "Button", - "|xns": "Roo" + "id" : "id", + "root" : "data", + "xtype" : "JsonReader", + "$ fields" : "[{\"name\":\"tz\",\"type\":\"string\"}]", + "$ xns" : "Roo.data", + "* prop" : "reader", + "totalProperty" : "total" } - ] + ] + } + ] + } + ] + } + ] + }, + { + "xtype" : "ColumnModel", + "header" : "Last Sent", + "width" : 75, + "$ renderer" : "function(v) { return String.format('{0}', v ? v : 'never'); }", + "$ xns" : "Roo.grid", + "* prop" : "colModel[]", + "dataIndex" : "last_event_id" } - ], - "permname": "", - "modOrder": "001" + ] + } + ] + }, + { + "listeners" : { + "click" : "function (_self, e)\n{\n _this.dialog.hide();\n}" + }, + "text" : "Done", + "xtype" : "Button", + "$ xns" : "Roo", + "* prop" : "buttons[]" + } + ] + } + ] } \ No newline at end of file