diff --git a/src/webui/static/app/cwceditor.js b/src/webui/static/app/cwceditor.js
index 87c4bd1f..db507e4f 100644
--- a/src/webui/static/app/cwceditor.js
+++ b/src/webui/static/app/cwceditor.js
@@ -8,25 +8,50 @@ tvheadend.cwceditor = function() {
width: 60
});
+ function setMetaAttr(meta, record){
+ var enabled = record.get('enabled');
+ if(!enabled) return;
+
+ var connected = record.get('connected');
+ if(connected == 1){
+ meta.attr = 'style="color:green;"';
+ } else {
+ meta.attr = 'style="color:red;"';
+ }
+ }
+
var cm = new Ext.grid.ColumnModel([
enabledColumn,
{
header: "Hostname",
dataIndex: 'hostname',
width: 200,
+ renderer: function(value, metadata, record, row, col, store) {
+ setMetaAttr(metadata, record);
+ return value;
+ },
editor: new fm.TextField({allowBlank: false})
},{
header: "Port",
dataIndex: 'port',
+ renderer: function(value, metadata, record, row, col, store) {
+ setMetaAttr(metadata, record);
+ return value;
+ },
editor: new fm.TextField({allowBlank: false})
},{
header: "Username",
dataIndex: 'username',
+ renderer: function(value, metadata, record, row, col, store) {
+ setMetaAttr(metadata, record);
+ return value;
+ },
editor: new fm.TextField({allowBlank: false})
},{
header: "Password",
dataIndex: 'password',
renderer: function(value, metadata, record, row, col, store) {
+ setMetaAttr(metadata, record);
return 'Hidden';
},
editor: new fm.TextField({allowBlank: false})
@@ -35,6 +60,7 @@ tvheadend.cwceditor = function() {
dataIndex: 'deskey',
width: 300,
renderer: function(value, metadata, record, row, col, store) {
+ setMetaAttr(metadata, record);
return 'Hidden';
},
editor: new fm.TextField({allowBlank: false})
@@ -42,15 +68,35 @@ tvheadend.cwceditor = function() {
header: "Comment",
dataIndex: 'comment',
width: 400,
+ renderer: function(value, metadata, record, row, col, store) {
+ setMetaAttr(metadata, record);
+ return value;
+ },
editor: new fm.TextField()
}
]);
var rec = Ext.data.Record.create([
- 'enabled','hostname','port','username','password','deskey','comment'
+ 'enabled','connected','hostname','port','username','password','deskey','comment'
]);
+ store = new Ext.data.JsonStore({
+ root: 'entries',
+ fields: rec,
+ url: "tablemgr",
+ autoLoad: true,
+ id: 'id',
+ baseParams: {table: 'cwc', op: "get"}
+ });
+
+ tvheadend.comet.on('cwcStatus', function(server) {
+ var rec = store.getById(server.id);
+ if(rec){
+ rec.set('connected', server.connected);
+ }
+ });
+
return new tvheadend.tableEditor('Code Word Client', 'cwc', cm, rec,
- [enabledColumn], null,
+ [enabledColumn], store,
'config_cwc.html', 'key');
}