tvheadend.comet.on('epg', function(m) {
if (!panel.isVisible())
return;
- if ('delete' in m) {
- for (var i = 0; i < m['delete'].length; i++) {
- var r = epgStore.getById(m['delete'][i]);
+ if ('delete' in m)
+ Ext.each(m['delete'], function(d) {
+ var r = epgStore.getById(d);
if (r)
epgStore.remove(r);
- }
- }
+ });
if (m.update || m.dvr_update || m.dvr_delete) {
var a = m.update || m.dvr_update || m.dvr_delete;
if (m.update && m.dvr_update)
if (m.update || m.dvr_update)
a = a.concat(m.dvr_delete);
var ids = [];
- for (var i = 0; i < a.length; i++) {
- var r = epgStore.getById(a[i]);
+ Ext.each(a, function (id) {
+ var r = epgStore.getById(id);
if (r)
ids.push(r.id);
- }
+ });
if (ids) {
Ext.Ajax.request({
url: 'api/epg/events/load',
var idnode = null;
var update = function(o) {
- if (auto.getValue())
+ if ('delete' in o)
+ Ext.each(o['delete'], function (d) {
+ var r = store.getById(d);
+ if (r)
+ store.remove(r);
+ });
+ if (o.change) {
+ var ids = [];
+ Ext.each(o.change, function(id) {
+ var r = store.getById(id);
+ if (r)
+ ids.push(r.id);
+ });
+ if (ids) {
+ var p = { uuid: ids };
+ if (conf.list) p.list = conf.list;
+ Ext.Ajax.request({
+ url: 'api/idnode/load',
+ params: p,
+ success: function (d) {
+ d = json_decode(d);
+ Ext.each(d, function(jd) {
+ tvheadend.replace_entry(store.getById(jd.uuid), jd);
+ });
+ },
+ failure: function(response, options) {
+ Ext.MessageBox.alert(_('Grid Update'), response.statusText);
+ }
+ });
+ }
+ }
+ if (o.create && auto.getValue())
store.reload();
};
*/
tvheadend.replace_entry = function(r, d) {
- if (!r) return;
- r.store.fields.each(function (n) {
- var v = d[n.name];
- r.data[n.name] = n.convert((v !== undefined) ? v : n.defaultValue, v);
- });
- r.json = d;
- r.commit();
+ if (!r) return;
+ var dst = r.data;
+ var src = d.params instanceof Array ? d.params : d;
+ var lookup = src instanceof Array;
+ r.store.fields.each(function (n) {
+ if (lookup) {
+ for (var i = 0; i < src.length; i++) {
+ if (src[i].id == n.name) {
+ var v = src[i].value;
+ break;
+ }
+ }
+ } else {
+ var v = src[n.name];
+ }
+ var x = v;
+ if (typeof v === 'undefined')
+ x = typeof n.defaultValue === 'undefined' ? '' : n.defaultValue;
+ dst[n.name] = n.convert(x, v);
+ });
+ r.json = src;
+ r.commit();
}
/*