summaryrefslogtreecommitdiff
path: root/http/src/js
diff options
context:
space:
mode:
authorhorchi <vdr@jwendel.de>2017-10-09 19:28:31 +0200
committerhorchi <vdr@jwendel.de>2017-10-09 19:28:31 +0200
commit894823c8b2b9382042d70df670966e8376b9138e (patch)
treea5c6809952be4ed34e5f46f098ba9513d6dd8ce1 /http/src/js
parent1633749d2a188add75ad2aa68dc8bea9b7cd6c85 (diff)
parentc9ee5f0c5ebba0f9bee189aa591892a320d7caab (diff)
downloadvdr-epg-daemon-894823c8b2b9382042d70df670966e8376b9138e.tar.gz
vdr-epg-daemon-894823c8b2b9382042d70df670966e8376b9138e.tar.bz2
2017-10-09: version 1.1.122 (horchi)\n - change: Fixed curl SSL mode \n\n
Diffstat (limited to 'http/src/js')
-rw-r--r--http/src/js/1_main.js305
-rw-r--r--http/src/js/eventDetail.js155
-rw-r--r--http/src/js/pages.magazine.js137
-rw-r--r--http/src/js/pages.now.js136
-rw-r--r--http/src/js/pages.records.js367
5 files changed, 561 insertions, 539 deletions
diff --git a/http/src/js/1_main.js b/http/src/js/1_main.js
index 3a8251a..8c7d689 100644
--- a/http/src/js/1_main.js
+++ b/http/src/js/1_main.js
@@ -55,10 +55,10 @@ epgd.profile_load = function (doNotCache) {
epgd.channels.isDirty = true;
}
}
- if (epgd.utils.timeOffset == null) {
- epgd.utils.timeOffset = (data.timezone - new Date().getTimezoneOffset() * 60) * 1000;
- now = epgd.utils.now();
- epgd.$dtPicker.datetimepicker('setDate', new Date(now.setMinutes(parseInt(now.getMinutes() / 15, 10) * 15)));
+ if (epgd.utils.timeOffset == null) {
+ epgd.utils.timeOffset = (data.timezone - new Date().getTimezoneOffset() * 60) * 1000;
+ now = epgd.utils.now();
+ epgd.$dtPicker.datetimepicker('setDate', new Date(now.setMinutes(parseInt(now.getMinutes() / 15, 10) * 15)));
}
if (!profile.minEventTime) {
now = epgd.utils.now();
@@ -131,7 +131,7 @@ epgd.utils = {
width: 400,
height:200,
maxWidth: $w.width() * 0.8,
- maxHeight: $w.height() * 0.7,
+ maxHeight: $w.height() * 0.7,
}, options);
$dlg = $('<div class="epgPopUp"><p>' + txt + '</p></div>').dialog(options);
options.autoClose && window.setTimeout(function () { $dlg.dialog('close').dialog('destroy'); }, options.autoClose);
@@ -214,63 +214,63 @@ epgd.utils = {
fontSize, kc;
inst.selectedItems = {};
- if (o.multiselect) {
+ if (o.multiselect) {
inst.multiselect = $("<div></div>")
.addClass("ui-autocomplete-multiselect ui-state-default ui-widget " + cn)
.css("width", w)
.insertBefore(inst.element)
.append(inst.element)
- .bind("click.autocomplete", function () {
- inst.element.focus();
+ .bind("click.autocomplete", function () {
+ inst.element.focus();
});
inst.menu.element.css({ "height": "300px", "overflow-y": "auto" });
fontSize = parseInt(inst.element.css("fontSize") || 10, 10);
function autoSize(e) {
// Hackish autosizing
var $this = $(this);
- $this.width(1).width(this.scrollWidth + fontSize - 1);
+ $this.width(1).width(this.scrollWidth + fontSize - 1);
};
kc = $.ui.keyCode;
- inst.element.bind({
- "keydown.autocomplete": function (e) {
- if ((this.value === "") && (e.keyCode == kc.BACKSPACE)) {
+ inst.element.bind({
+ "keydown.autocomplete": function (e) {
+ if ((this.value === "") && (e.keyCode == kc.BACKSPACE)) {
var prev = inst.element.prev();
delete inst.selectedItems[prev.text()];
- prev.remove();
- }
+ prev.remove();
+ }
},
// TODO: Implement outline of container
- "focus.autocomplete blur.autocomplete": function () {
- inst.multiselect.toggleClass("ui-state-active");
+ "focus.autocomplete blur.autocomplete": function () {
+ inst.multiselect.toggleClass("ui-state-active");
},
- "keypress.autocomplete change.autocomplete focus.autocomplete blur.autocomplete": autoSize
+ "keypress.autocomplete change.autocomplete focus.autocomplete blur.autocomplete": autoSize
}).trigger("change");
- o.select = o.select || function (e, ui) {
- if (!inst.selectedItems[ui.item.label]) {
+ o.select = o.select || function (e, ui) {
+ if (!inst.selectedItems[ui.item.label]) {
$("<div></div>")
.addClass("ui-autocomplete-multiselect-item")
.text(ui.item.label)
.append(
$("<span></span>")
.addClass("ui-icon ui-icon-close")
- .click(function () {
+ .click(function () {
var item = $(this).parent();
delete inst.selectedItems[item.text()];
- item.remove();
+ item.remove();
})
)
.insertBefore(inst.element);
- inst.selectedItems[ui.item.label] = ui.item;
+ inst.selectedItems[ui.item.label] = ui.item;
}
inst._value("");
- return false;
- }
- } else {
- o.select = o.select || function (e, ui) {
- inst.selectedItems[0] = ui.item;
- inst._value(ui.item.label);
- return false;
- }
+ return false;
+ }
+ } else {
+ o.select = o.select || function (e, ui) {
+ inst.selectedItems[0] = ui.item;
+ inst._value(ui.item.label);
+ return false;
+ }
};
}
}, options)).focus(function () {
@@ -313,43 +313,43 @@ epgd.utils = {
}
}
},
- addPlaceholders: function (inputSelector, key, placeholders) {
- var input = $(inputSelector)[0],
- html = '<ul class="placeholders ui-menu ui-widget ui-widget-content">',
- p;
+ addPlaceholders: function (inputSelector, key, placeholders) {
+ var input = $(inputSelector)[0],
+ html = '<ul class="placeholders ui-menu ui-widget ui-widget-content">',
+ p;
for (p in placeholders)
html += '<li class="ui-menu-item"><b>' + p + '</b>' + placeholders[p] + '</li>';
- input.$placeholders = $(html + '</ul>').hide().insertAfter(input).click(function (ev) {
- var placeholder = ev.target.nodeName == 'B' ? $(ev.target).text() : ev.target.nodeName == 'LI' ? $(ev.target.firstChild).text() : null,
- cursorPos = $(input).prop('selectionStart'),
- v = $(input).val();
- if (placeholder) {
- $(input).val(v.substring(0, cursorPos) + placeholder + v.substring(cursorPos, v.length)).focus();
- cursorPos += placeholder.length;
- if (input.setSelectionRange) {
- input.setSelectionRange(cursorPos, cursorPos);
- }
- else if (input.createTextRange) {
- v = input.createTextRange();
- v.collapse(true);
- v.moveEnd('character', cursorPos);
- v.moveStart('character', cursorPos);
- v.select();
- }
- }
- $(this).hide();
- });
- $(input).keydown(function (ev) {
- if (ev.key == key) {
- $(document).one("click", function () { input.$placeholders.hide(); })
- input.blur();
- return !input.$placeholders.show().position({
- my: "left top",
- at: "left bottom",
- of: input
- });
- }
- });
+ input.$placeholders = $(html + '</ul>').hide().insertAfter(input).click(function (ev) {
+ var placeholder = ev.target.nodeName == 'B' ? $(ev.target).text() : ev.target.nodeName == 'LI' ? $(ev.target.firstChild).text() : null,
+ cursorPos = $(input).prop('selectionStart'),
+ v = $(input).val();
+ if (placeholder) {
+ $(input).val(v.substring(0, cursorPos) + placeholder + v.substring(cursorPos, v.length)).focus();
+ cursorPos += placeholder.length;
+ if (input.setSelectionRange) {
+ input.setSelectionRange(cursorPos, cursorPos);
+ }
+ else if (input.createTextRange) {
+ v = input.createTextRange();
+ v.collapse(true);
+ v.moveEnd('character', cursorPos);
+ v.moveStart('character', cursorPos);
+ v.select();
+ }
+ }
+ $(this).hide();
+ });
+ $(input).keydown(function (ev) {
+ if (ev.key == key) {
+ $(document).one("click", function () { input.$placeholders.hide(); })
+ input.blur();
+ return !input.$placeholders.show().position({
+ my: "left top",
+ at: "left bottom",
+ of: input
+ });
+ }
+ });
},
inherits : function (childClass, parentClass) {
var tempClass = function () { };
@@ -392,12 +392,12 @@ epgd.init = function () {
} else if (unit == 'second' && epgd.profile.quickTimes) {
obj.closest('dl').find('.ui_tpicker_time').removeClass()
.bind("click", { tp_inst: tp_inst, obj:obj, unit: 'time' }, $.timepicker.quicklink).html('<i><u title="' + epgd.profile.quickTimes.replace(/[^=~]+=@[a-z]+/gi, '').replace(/~{2,}/g, '~').replace(/=!?/g, '">').replace(/~/g, '</u></i><i><u title="') + '</u></i>');
- if (tp_inst.inst.settings.alwaysSetTime)
+ if (tp_inst.inst.settings.alwaysSetTime)
epgd.pages.help.initButtons(tp_inst.inst.dpDiv.find('.ui-datepicker-buttonpane').append(epgd.pages.help.getButton('datepicker')));
- else
- $('<button class="iAsButton i-cancel" role="button">' + epgd.tr.clear + '</button>').appendTo(tp_inst.inst.dpDiv.find('.ui-datepicker-buttonpane')).click(function () {
+ else
+ $('<button class="iAsButton i-cancel" role="button">' + epgd.tr.clear + '</button>').appendTo(tp_inst.inst.dpDiv.find('.ui-datepicker-buttonpane')).click(function () {
tp_inst.$input.val('');
- $.datepicker._hideDatepicker();
+ $.datepicker._hideDatepicker();
});
return obj;
} else
@@ -446,47 +446,47 @@ epgd.init = function () {
epgd.$menu.parent().toggleClass('open');
});
epgd.$menu.checkMenuSize = function (ev, callback) {
- if (window.wrm_i) { // interval aktiv?
- if (window.wrm_w == $(window).width()) { //Breite vom vorherigen Aufruf und aktuelle Breite gleich?
- window.clearInterval(window.wrm_i);
- delete window.wrm_i;
- epgd.$menu.parent().removeClass('mini').width(window.wrm_w).offset({ 'left': $(window).scrollLeft() });
- epgd.$menu.checkMenuSize(null, callback);
- } else
- window.wrm_w = $(window).width();
- return;
- }
- if (ev) {
- window.wrm_w = $(window).width();
- if (!window.wrm_i) // Interval setzen, um sicher zu sein, dass die Breite jetzt stimmt
- window.wrm_i = window.setInterval(epgd.$menu.checkMenuSize, 200,null,callback);
- } else {
- if (epgd.$menu.height() > 40)
- epgd.$menu.parent().addClass('mini');
- window.setTimeout(function () {
- document.body.style.paddingTop = (epgd.$menu.parent().height() + 10) + "px";
- callback && window.setTimeout(callback,200);
- }, 200);
+ if (window.wrm_i) { // interval aktiv?
+ if (window.wrm_w == $(window).width()) { //Breite vom vorherigen Aufruf und aktuelle Breite gleich?
+ window.clearInterval(window.wrm_i);
+ delete window.wrm_i;
+ epgd.$menu.parent().removeClass('mini').width(window.wrm_w).offset({ 'left': $(window).scrollLeft() });
+ epgd.$menu.checkMenuSize(null, callback);
+ } else
+ window.wrm_w = $(window).width();
+ return;
+ }
+ if (ev) {
+ window.wrm_w = $(window).width();
+ if (!window.wrm_i) // Interval setzen, um sicher zu sein, dass die Breite jetzt stimmt
+ window.wrm_i = window.setInterval(epgd.$menu.checkMenuSize, 200,null,callback);
+ } else {
+ if (epgd.$menu.height() > 40)
+ epgd.$menu.parent().addClass('mini');
+ window.setTimeout(function () {
+ document.body.style.paddingTop = (epgd.$menu.parent().height() + 10) + "px";
+ callback && window.setTimeout(callback,200);
+ }, 200);
}
};
//epgd.$menu.show().checkMenuSize();
$(window).bind("resize", epgd.$menu.checkMenuSize);
epgd.$dtPicker = $('<input type="text" id="selDate" readonly style="z-index:199;position:relative" />').appendTo(document.body).hide().bind("click",function () { $(this).datepicker("show"); return false; });
- epgd.$dtPicker.datetimepicker({
- beforeShow: function () {
- this.$overlay = $("<div />").addClass("ui-widget-overlay ui-front").appendTo(document.body);
+ epgd.$dtPicker.datetimepicker({
+ beforeShow: function () {
+ this.$overlay = $("<div />").addClass("ui-widget-overlay ui-front").appendTo(document.body);
},
- onClose: function () {
+ onClose: function () {
this.$overlay.remove();
- $(window).trigger('datepicker');
- },
+ $(window).trigger('datepicker');
+ },
calendarStart: function() {
var d= new Date(epgd.profile.minEventTime * 1000)
leadDays = (d.getDay() - parseInt(epgd.profile.pickerFirstDay, 10) + 7) % 7;
d.setHours(12, 0);
d.setDate(d.getDate() - leadDays);
return d;
- }
+ }
});
epgd.$menu.menu({
@@ -499,14 +499,14 @@ epgd.init = function () {
epgd.$menu.parent().removeClass('open');
$(".menu-active", this).removeClass("menu-active");
$(document.body).append(epgd.$dtPicker.hide());
- epgd.$menu.checkMenuSize(null,function () {
- try {
+ epgd.$menu.checkMenuSize(null,function () {
+ try {
ui.item.addClass("menu-active").parent().parent('.ui-menu-item').addClass("menu-active");
- epgd.pages[id.slice(5)].render();
- } catch (e) {
- epgd.utils.popup(epgd.tr.error.common, { title: epgd.tr.error.error });
- epgd.utils.log((e.message || 'common error') + '\n' + (e.stack || ''), 2);
- }
+ epgd.pages[id.slice(5)].render();
+ } catch (e) {
+ epgd.utils.popup(epgd.tr.error.common, { title: epgd.tr.error.error });
+ epgd.utils.log((e.message || 'common error') + '\n' + (e.stack || ''), 2);
+ }
});
}
});
@@ -522,8 +522,8 @@ epgd.init = function () {
if (changes["defaultVDRuuid"] != undefined) {
$('#menu_vdrs > select').val(epgd.profile.defaultVDRuuid);
}
- if (changes["quickTimes"] != undefined) {
- epgd.pages.magazine.initQT();
+ if (changes["quickTimes"] != undefined) {
+ epgd.pages.magazine.initQT();
}
if (changes["needLogin"] != undefined) {
epgd.pages.login.doLogin();
@@ -550,7 +550,7 @@ epgd.init = function () {
+ ((epgd.login.rights & epgd.rights.umConfigUsers) == epgd.rights.umConfigUsers ? '<li id="menu_editUser"><a href="#menu_editUser">' + epgd.tr.pages.options.editUser + '</a></li>' : '')
+ '</ul></li>');
epgd.$menu.append('<li id="menu_help"><a href="#menu_help">' + epgd.tr.menu.help + '</a></li>');
- epgd.$menu.append('<li id="menu_vdrs"><a href="#menu_vdrs">VDR</a><select></select></li>');
+ epgd.$menu.append('<li id="menu_vdrs"><a href="#menu_vdrs">VDR</a><select></select><span><a id="osd2web">-&gt;OSD</a></span></li>');
}
epgd.profile.needLogin == "1" && epgd.$menu.append('<li id="menu_login"><a href="#menu_login">'
+ (epgd.login.session ? epgd.login.user + ' ' + epgd.tr.pages.login.logout : epgd.tr.pages.login.label )
@@ -571,13 +571,22 @@ epgd.init = function () {
html += '<option value="' + uuid + '"' + (uuid == epgd.vdrs.current.uuid ? 'selected' : '') + '>' + epgd.vdrs.list[uuid].name + '</option>';
}
$('<select>' + html + '</select>').replaceAll('#menu_vdrs > select').show().change(function () {
- epgd.vdrs.current = epgd.vdrs.get(this[this.selectedIndex].value);
+ var vdr= epgd.vdrs.current = this.selectedIndex >= 0 ? epgd.vdrs.get(this[this.selectedIndex].value) : {};
+ if (vdr && vdr.osd2webp)
+ $('#osd2web').prop("target", "osd2web_" + vdr.name)
+ .prop("href", "http://" + vdr.ip + ":" + vdr.osd2webp)
+ .click(function(ev){
+ ev.stopPropagation();
+ return true;
+ }).show();
+ else
+ $('#osd2web').hide();
}).mousedown(function (ev) {
ev.stopPropagation();
return true;
}).click(function (ev) {
return false;
- });
+ }).change();
}).bind("unload", function () {
if (epgd.login.session)
epgd.pages.login.doLogin('logout');
@@ -593,15 +602,15 @@ epgd.init = function () {
window.setInterval(epgd.profile_load, 3600000); // ca. jede Stunde neu abfragen
// window.setTimeout(function () { $(window).trigger('resize'); });
}
-window.onerror = function (msg, url, line, col, error) {
- // Note that col & error are new to the HTML 5 spec and may not be
- // supported in every browser. It worked for me in Chrome.
- var extra = !col ? '' : '\ncolumn: ' + col;
- extra += !error ? '' : '\nerror: ' + error.stack;
- try{
- epgd.utils.log(msg + "\nline: " + line + extra, 2);
- } catch(e){}
- return true;
+window.onerror = function (msg, url, line, col, error) {
+ // Note that col & error are new to the HTML 5 spec and may not be
+ // supported in every browser. It worked for me in Chrome.
+ var extra = !col ? '' : '\ncolumn: ' + col;
+ extra += !error ? '' : '\nerror: ' + error.stack;
+ try{
+ epgd.utils.log(msg + "\nline: " + line + extra, 2);
+ } catch(e){}
+ return true;
};
$.widget("custom.catcomplete", $.ui.autocomplete, {
@@ -625,54 +634,54 @@ $.widget("custom.catcomplete", $.ui.autocomplete, {
});
}
});
-$.datepicker._gotoToday = function (id) {
+$.datepicker._gotoToday = function (id) {
var inst = this._getInst($(id)[0]),
now = epgd.utils.now();
this._base_gotoToday(id);
this._setTime(inst, now);
- this._setDate(inst, now);
- this._hideDatepicker();
+ this._setDate(inst, now);
+ this._hideDatepicker();
};
-$.timepicker.quicklink = function (ev) {
+$.timepicker.quicklink = function (ev) {
var target = ev.target.nodeName == 'I' ? ev.target.firstChild : ev.target,
tp_inst,
val = null,
d = false;
- try {
- tp_inst = ev.data.tp_inst || $.datepicker._getInst(epgd.$dtPicker[0]).settings.timepicker;
- } catch (e) {
- epgd.utils.log((e.message || 'common error') + '\n' + (e.stack || ''), 2);
- return false;
+ try {
+ tp_inst = ev.data.tp_inst || $.datepicker._getInst(epgd.$dtPicker[0]).settings.timepicker;
+ } catch (e) {
+ epgd.utils.log((e.message || 'common error') + '\n' + (e.stack || ''), 2);
+ return false;
}
- if (target.nodeName == 'U') {
- if (ev.data.unit == "time")
- val = $.datepicker.parseTime(tp_inst._defaults.timeFormat, target.innerHTML, tp_inst._defaults);
- else if (ev.data.unit == "hour")
- val = { hour: parseInt(target.innerHTML, 10), minute: tp_inst.minute };
-
- if (val) {
+ if (target.nodeName == 'U') {
+ if (ev.data.unit == "time")
+ val = $.datepicker.parseTime(tp_inst._defaults.timeFormat, target.innerHTML, tp_inst._defaults);
+ else if (ev.data.unit == "hour")
+ val = { hour: parseInt(target.innerHTML, 10), minute: tp_inst.minute };
+
+ if (val) {
if (val.hour < tp_inst.hour - 1)
- d = true;
- else {
+ d = true;
+ else {
tp_inst.control.value(tp_inst, tp_inst.hour_slider, "hour", val.hour);
tp_inst._onTimeChange();
if (tp_inst.hour != val.hour)
- d = true;
+ d = true;
}
- if (d) {
+ if (d) {
d = new Date(tp_inst.inst.selectedYear, tp_inst.inst.selectedMonth, tp_inst.inst.selectedDay + 1, val.hour, val.minute);
$.datepicker._setDate(tp_inst.inst, d);
$.datepicker._setTime(tp_inst.inst, d);
- $.datepicker._updateDatepicker(tp_inst.inst);
+ $.datepicker._updateDatepicker(tp_inst.inst);
} else
- tp_inst.control.value(tp_inst, tp_inst.minute_slider, "minute", val.minute);
+ tp_inst.control.value(tp_inst, tp_inst.minute_slider, "minute", val.minute);
} else
tp_inst.control.value(tp_inst, ev.data.obj, ev.data.unit, parseInt(target.innerHTML, 10));
tp_inst._onTimeChange();
tp_inst._onSelectHandler();
if (ev.target.nodeName == 'I')
- $.datepicker._hideDatepicker();
- }
+ $.datepicker._hideDatepicker();
+ }
}
epgd.ajax = function (options, success, error) {
@@ -692,19 +701,19 @@ epgd.ajax = function (options, success, error) {
}
else if (jqxhr.status == 403) {
epgd.utils.popup(epgd.tr.error.forbidden, { title: epgd.tr.error.error });
- } else if (jqxhr.status == 501){
- epgd.utils.popup(epgd.tr.error.notImplemented, { title: epgd.tr.error.error });
+ } else if (jqxhr.status == 501){
+ epgd.utils.popup(epgd.tr.error.notImplemented, { title: epgd.tr.error.error });
} else {
if (error && error.call(this, jqxhr, e))
return;
//if (jqxhr.status == 409) {
var mess = '';
- try {
+ try {
if (jqxhr.responseJSON)
- mess = jqxhr.responseJSON.result.message;
- } catch (e) {
+ mess = jqxhr.responseJSON.result.message;
+ } catch (e) {
mess = '';
- epgd.utils.log((e.message || 'common error') + '\n' + (e.stack || '') + '\n options:' + JSON.stringify(options) + '\n jqhr:' + JSON.stringify(jqxhr), 3);
+ epgd.utils.log((e.message || 'common error') + '\n' + (e.stack || '') + '\n options:' + JSON.stringify(options) + '\n jqhr:' + JSON.stringify(jqxhr), 3);
}
epgd.utils.popup(mess || jqxhr.responseText || epgd.tr.error.serverNotResponse, { title: epgd.tr.error.error });
// } else
diff --git a/http/src/js/eventDetail.js b/http/src/js/eventDetail.js
index 8ff8548..939b7ff 100644
--- a/http/src/js/eventDetail.js
+++ b/http/src/js/eventDetail.js
@@ -45,14 +45,14 @@ epgd.eventDetail.prototype.doRepeat = function (checkAvail) {
$repeatHdl = win.$con.find('.repeat'),
searchData;
if (!$repeatHdl.length) {
- if (!this.searchResultList) {
- this.searchResultList = new epgd.searchResultList(null, {
- resize: function () {
+ if (!this.searchResultList) {
+ this.searchResultList = new epgd.searchResultList(null, {
+ resize: function () {
win.$con.last().find('td[data-evId="' + win.detail.data.id + '"]').parent().remove();
win.$con.accordion("refresh");
- $repeatHdl.click();
- }
- });
+ $repeatHdl.click();
+ }
+ });
}
$repeatHdl = $('<h3 class="repeat">' + epgd.tr.pages.eventDetail.repeat + '</h3>').appendTo(win.$con);
searchData = { searchfields: 1, expression: this.data.title, searchmode: 1, casesensitiv: 1, fromEventDetail: true };
@@ -238,7 +238,7 @@ epgd.eventDetail.win.prototype.render = function (detail) {
terms = sc.episode;
if (terms) {
if (terms.episodeoverview){
- if ( e.longdescription && terms.episodeoverview.length > e.longdescription.length)
+ if ( e.longdescription && terms.episodeoverview.length > e.longdescription.length)
desc = desc.replace(/^<div.+<\/div>/i, '');
desc= '<div title="episodeoverview">' + terms.episodeoverview + '</div>' + desc;
}
@@ -290,47 +290,50 @@ epgd.eventDetail.win.prototype.render = function (detail) {
+ (e.year ? tr.year + '<b>' + e.year + '</b><br />' : '');
info2 = (ep.part ? tr.part + '<b>' + ep.part + (ep.parts ? ' / ' + ep.parts + '' : '') + '</b><br />' : '')
+ (ep.season ? tr.season + '<b>' + ep.season + '</b><br />' : '')
- + (ep.number ? tr.number + '<b>' + ep.number + '</b><br />' : '');
+ + (ep.number ? tr.number + '<b>' + ep.number + '</b><br />' : '')
+ + (ep.extracol1 ? ep.extracol1 + '<br />' : '')
+ + (ep.extracol2 ? ep.extracol2 + '<br />' : '')
+ + (ep.extracol3 ? ep.extracol3 + '<br />' : '');
/*
- e.recordings = [
- {
- "matchdensityshorttext": 12,
- "owner": "7F13E490-09B3-401C-B26C-8B7F2F111014",
- "name": "Star Wars: Episode III - Die Rache der Sith",
- "duration": 10736,
- "path": "Die_Biene_Maja/S03E04/2014-03-23.06.53.29-0.rec",
- "md5path": "f6abd21ea13f52626723b3321c7a8c42",
- "matchdensitytitle": 68,
- "starttime": 1395553980,
- "title": "Star Wars: Episode III - Die Rache der Sith",
- "shorttext": "Science-Fiction (USA 2005)"
- },
- {
- "matchdensityshorttext": 48,
- "owner": "7F13E490-09B3-401C-B26C-8B7F2F111014",
- "name": "Star Wars: Das Erwachen der Macht",
- "duration": 8783,
- "path": "Das_Traumhotel/2016-05-15.18.28.64-0.rec",
- "md5path": "0279b0d04b68e891ef2b7e6d8bcdd059",
- "matchdensitytitle": 70,
- "starttime": 1463329680,
- "title": "Star Wars: Das Erwachen der Macht",
- "sho__rttext": "Star Wars - Episode VII: The Force Awakens"
- }
- ];
+ e.recordings = [
+ {
+ "matchdensityshorttext": 12,
+ "owner": "7F13E490-09B3-401C-B26C-8B7F2F111014",
+ "name": "Star Wars: Episode III - Die Rache der Sith",
+ "duration": 10736,
+ "path": "Die_Biene_Maja/S03E04/2014-03-23.06.53.29-0.rec",
+ "md5path": "f6abd21ea13f52626723b3321c7a8c42",
+ "matchdensitytitle": 68,
+ "starttime": 1395553980,
+ "title": "Star Wars: Episode III - Die Rache der Sith",
+ "shorttext": "Science-Fiction (USA 2005)"
+ },
+ {
+ "matchdensityshorttext": 48,
+ "owner": "7F13E490-09B3-401C-B26C-8B7F2F111014",
+ "name": "Star Wars: Das Erwachen der Macht",
+ "duration": 8783,
+ "path": "Das_Traumhotel/2016-05-15.18.28.64-0.rec",
+ "md5path": "0279b0d04b68e891ef2b7e6d8bcdd059",
+ "matchdensitytitle": 70,
+ "starttime": 1463329680,
+ "title": "Star Wars: Das Erwachen der Macht",
+ "sho__rttext": "Star Wars - Episode VII: The Force Awakens"
+ }
+ ];
*/
if (e.recordings)
- for (i in e.recordings) {
- terms= e.recordings[i];
+ for (i in e.recordings) {
+ terms= e.recordings[i];
recordings += '<div class="rec" data-start="' + terms.starttime + '" data-owner="' + (terms.owner || '')
+ '" data-md5="' + terms.md5path + '" data-path="' + terms.path + '">'
+ '<em>' + epgd.utils.formatDateTime(terms.starttime) + '</em><u>' + parseInt(terms.duration / 60, 10) + ' ' + epgd.tr.minutes
+ '</u><b onclick="new epgd.recordDetail(this.parentNode).render()">'
- + '<div class="progress" title="' + terms.matchdensitytitle + '% ' + epgd.tr.pages.search.matchdensity + '"><div style="width:' + terms.matchdensitytitle + '%" ></div></div>' + terms.title
+ + '<div class="progress" title="' + terms.matchdensitytitle + '% ' + epgd.tr.pages.search.matchdensity + '"><div style="width:' + terms.matchdensitytitle + '%" ></div></div>' + terms.title
+ (terms.shorttext ? '<i><div class="progress" title="' + terms.matchdensityshorttext + '% ' + epgd.tr.pages.search.matchdensity + '"><div style="width:' + terms.matchdensityshorttext + '%" ></div></div>' + terms.shorttext + '</i>' : '')
- + '</b></div>';
+ + '</b></div>';
}
this.$con = $('<div><h3><div class="date">' + $.datepicker.formatDate(isMobile ? 'd. M y' : 'd. MM yy', epgd.utils.date(e.starttime)) + '</div>'
@@ -366,7 +369,7 @@ epgd.eventDetail.win.prototype.render = function (detail) {
+ '<div class="colFull desc">' + (desc ? desc.replace(/\n/g, '<br />') : '') + '</div>'
+ '</div>'
+ extInfo
- + (e.category == 'Serie' || sc.isSerie ? '<h3 data-conti="' + constTitle + '"><span>' + tr.constabelInfo + '</span></h3><div class="desc">'
+ + (e.category == 'Serie' || sc.isSerie || ep.episodename ? '<h3 data-conti="' + constTitle + '"><span>' + tr.constabelInfo + '</span></h3><div class="desc">'
+ '<a class="iAsButton i-edit" href="' + epgd.profile.constabelEditPath + encodeURIComponent(constTitle) + '.episodes' + '" target="constabel">' + epgd.tr.edit + '</a>'
+ '<a class="iAsButton i-link-ext" href="' + epgd.profile.constabelLinkPath + encodeURIComponent(constTitle) + '" target="constabel">' + epgd.tr.pages.eventDetail.addConstableLink + '</a>'
+ epgd.pages.help.getButton('constabel',true)
@@ -382,33 +385,33 @@ epgd.eventDetail.win.prototype.render = function (detail) {
active: 0,
beforeActivate: function(ev, ui){
if (ui.newHeader.attr('data-conti')) {
- epgd.utils.loader.process(function () {
- epgd.ajax({ url: epgd.login.url + 'data/proxy?id=constabel&title=' + encodeURIComponent(encodeURIComponent(ui.newHeader.attr('data-conti'))) + '&_' + new Date().getTime(), dataType: "html", contentType: "text/plain; charset=utf-8" }, function (data) {
- if (data.indexOf('Error:') == -1) {
+ epgd.utils.loader.process(function () {
+ epgd.ajax({ url: epgd.login.url + 'data/proxy?id=constabel&title=' + encodeURIComponent(encodeURIComponent(ui.newHeader.attr('data-conti'))) + '&_' + new Date().getTime(), dataType: "html", contentType: "text/plain; charset=utf-8" }, function (data) {
+ if (data.indexOf('Error:') == -1) {
var $pre = ui.newPanel.find('#cRaw'),
thead = '<thead><tr><th>' + tr.season + '</th><th>' + tr.part + '</th><th>' + tr.number + '</th><th>' + tr.title + '</th>',
tbody = '<tbody>',
lines = data.split(/\r?\n/),
line, m, i;
- for (i = 0; i < lines.length; i++) {
+ for (i = 0; i < lines.length; i++) {
line = lines[i];
- if (line.charAt(0) == '#') {
+ if (line.charAt(0) == '#') {
m = line.match(/EXTRACOL[0-9] (.+)/i);
if (m)
- thead += '<th>' + m[1] + '</th>';
- } else {
+ thead += '<th>' + m[1] + '</th>';
+ } else {
m = line.split(/\t/);
if (m.length > 3)
- tbody += '<tr><td>' + m.join('</td><td>') + '</td></tr>';
- }
+ tbody += '<tr><td>' + m.join('</td><td>') + '</td></tr>';
+ }
}
$pre.html(data).hide().before('<a href="#" onclick="return !!$(\'#cRaw\').toggle()[0].scrollIntoView()">Raw</a>');
- $pre.before('<table>' + thead + '</thead>' + tbody + '</tbody></table>');
- } else
- ui.newPanel.find('#cRaw').html(epgd.tr.error.noData);
- epgd.utils.loader.close();
- });
- ui.newHeader.removeAttr('data-conti');
+ $pre.before('<table>' + thead + '</thead>' + tbody + '</tbody></table>');
+ } else
+ ui.newPanel.find('#cRaw').html(epgd.tr.error.noData);
+ epgd.utils.loader.close();
+ });
+ ui.newHeader.removeAttr('data-conti');
},true);
}
}
@@ -430,8 +433,8 @@ epgd.eventDetail.win.prototype.render = function (detail) {
$(window).trigger("resize.eventDetail");
this.$openDialogs = $('.ui-dialog:visible:not(.ui-state-disabled)').addClass("ui-state-disabled");
$(document).bind("keyup.eventDetail", function (e) {
- if (e.keyCode == 27) {
- $(window).trigger("epgd_close.eventDetail");
+ if (e.keyCode == 27) {
+ $(window).trigger("epgd_close.eventDetail");
}
});
epgd.pages.help.initButtons(this.$con);
@@ -450,7 +453,7 @@ epgd.recordDetail.prototype.load = function () {
});
return this;
}
-epgd.recordDetail.prototype.doRecord = function (eData) {
+epgd.recordDetail.prototype.doRecord = function (eData) {
if (eData === true) return epgd.tr.pages.records.similarTimer; // eData = getTitle
epgd.eventDetail.prototype.doRecord.call(this, eData);
}
@@ -475,47 +478,47 @@ epgd.recordDetail.prototype.doNext = function (checkAvail) {
$elem.find('B').click();
}
-epgd.doneTimerDetail = epgd.utils.inherits(function (tr) {
+epgd.doneTimerDetail = epgd.utils.inherits(function (tr) {
this.tr = tr;
- return epgd.eventDetail.call(this);
+ return epgd.eventDetail.call(this);
}, epgd.eventDetail);
-epgd.doneTimerDetail.prototype.load= function () {
+epgd.doneTimerDetail.prototype.load= function () {
var self = this;
- epgd.ajax({ url: epgd.login.url + 'data/donetimer?id=' + this.tr.tData.id, async: false, cache: false }, function (data) {
+ epgd.ajax({ url: epgd.login.url + 'data/donetimer?id=' + this.tr.tData.id, async: false, cache: false }, function (data) {
var t = data.donetimer;
if (t.state)
t.cntlongdescription = epgd.pages.timerListDone.stateIcons[t.state];
- t.episode = { lang: t.episodelang, season: t.episodeseason, part: t.episodepart };
+ t.episode = { lang: t.episodelang, season: t.episodeseason, part: t.episodepart };
self.id = data.id;
- self.expire = epgd.utils.now().getTime() + 900000;
- delete t.timerid;
- delete t.id;
- self.data = t;
+ self.expire = epgd.utils.now().getTime() + 900000;
+ delete t.timerid;
+ delete t.id;
+ self.data = t;
});
- return this;
-};
-epgd.doneTimerDetail.prototype.doRecord= function (eData) {
+ return this;
+};
+epgd.doneTimerDetail.prototype.doRecord= function (eData) {
if (eData === true) return epgd.tr.pages.records.similarTimer;
epgd.eventDetail.prototype.doRecord.call(this, eData);
//epgd.pages.searchTimerList.dialog.render(eData || this.data);
};
-epgd.doneTimerDetail.prototype.doPlay= function (checkAvail) {
- return false;
+epgd.doneTimerDetail.prototype.doPlay= function (checkAvail) {
+ return false;
};
-epgd.doneTimerDetail.prototype.doPrev= function (checkAvail) {
+epgd.doneTimerDetail.prototype.doPrev= function (checkAvail) {
var $elem = $(this.tr).prev('tr');
if (!$elem.length)
return false;
if (checkAvail) return true;
- $elem.find('td').click();
+ $elem.find('td').click();
};
-epgd.doneTimerDetail.prototype.doNext= function (checkAvail) {
+epgd.doneTimerDetail.prototype.doNext= function (checkAvail) {
var $elem = $(this.tr).next('tr');
if (!$elem.length)
return false;
if (checkAvail) return true;
- $elem.find('td').click();
-};
+ $elem.find('td').click();
+};
$(document).ready(function () {
diff --git a/http/src/js/pages.magazine.js b/http/src/js/pages.magazine.js
index f5769e2..f413c51 100644
--- a/http/src/js/pages.magazine.js
+++ b/http/src/js/pages.magazine.js
@@ -30,10 +30,10 @@ epgd.pages.magazine = {
};
});
},
- initQT: function () {
- var qt = {};
- epgd.profile.quickTimes.replace(/=([0-9]{1,2}):([0-9]{1,2})/g, function (a, h, m) {
- qt[parseInt(h,10)] = '<p' + (m ? ' style="margin-top:' + (m * 2) + 'px"' : '') + '> </p>';
+ initQT: function () {
+ var qt = {};
+ epgd.profile.quickTimes.replace(/=([0-9]{1,2}):([0-9]{1,2})/g, function (a, h, m) {
+ qt[parseInt(h,10)] = '<p' + (m ? ' style="margin-top:' + (m * 2) + 'px"' : '') + '> </p>';
});
this.qt= qt;
},
@@ -99,8 +99,8 @@ epgd.pages.magazine = {
epgd.$menu.parent().offset({ 'left': l });
this.pages_magazine.$nav.offset({ 'left': l });
return false;
- })
- .bind("datepicker.pages_magazine", function () {
+ })
+ .bind("datepicker.pages_magazine", function () {
this.pages_magazine.setTime(epgd.utils.unixTime(epgd.$dtPicker.datetimepicker('getDate') || epgd.utils.now()), true);
})[0].pages_magazine = this;
@@ -176,13 +176,13 @@ epgd.pages.magazine = {
this._initWinBindings();
epgd.$con.empty();
this.$nav.appendTo(epgd.$con).bind("click", this.actionHead);
- this.$head.appendTo(epgd.$con).bind('click', function (ev) {
+ this.$head.appendTo(epgd.$con).bind('click', function (ev) {
if (ev.target.className == 'i-tv')
- epgd.vdrs.current.switchChannel(ev.target.parentNode.id);
+ epgd.vdrs.current.switchChannel(ev.target.parentNode.id);
});
this.$con.appendTo(epgd.$con).bind("click", this.actionCon).bind("touchend",this.actionConOpen);
- if (!$.support.touch && epgd.profile.magazinePan > 0)
- this._pan();
+ if (!$.support.touch && epgd.profile.magazinePan > 0)
+ this._pan();
}
$(window).trigger("resize.pages_magazine");
if (channel)
@@ -193,37 +193,46 @@ epgd.pages.magazine = {
$(window).trigger("resize.pages_magazine");
},
_pan: function(){
- var pan = false,
- tp = $('<div style="width:90%; height:35px; margin-top:15px; position:fixed;z-index:99;left:5%"></div>').prependTo(epgd.$con)[0],
- bot = $('<div style="width:90%; height:35px; position:fixed;z-index:99;bottom:0;left:5%"></div>').appendTo(epgd.$con)[0];
- this.timeLineL.pan = -1;
- this.timeLineR.pan = 1;
- tp.pan = epgd.profile.magazinePan * -30;
- bot.pan = epgd.profile.magazinePan * 30;
-
- window.tp = tp;
- window.bp = bot;
- window.p = pan;
- $([this.timeLineL, this.timeLineR, tp, bot]).mouseover(function (ev) {
- if (pan) return;
- pan = this.pan;
- window.setTimeout(function () {
- if (pan) {
- var checkPan = window.setInterval(function () {
- if (!pan || !window.pages_magazine)
- return window.clearInterval(checkPan);
- if (pan < -1 || pan > 1)
- window.pages_magazine.setTime((window.pages_magazine.$con.scrollTop() + 15) * 30 + epgd.profile.minEventTime + pan, true);
- else
- window.pages_magazine.setMain(pan);
- }, (pan < -1 || pan > 1 ? 100 : 1200));
- }
- }, epgd.profile.magazinePanDelay);
- }).mouseout(function () {
- pan = false;
- });
+ var pan = false,
+ tp = $('<div style="width:90%; height:35px; margin-top:15px; position:fixed;z-index:99;left:5%"></div>').prependTo(epgd.$con)[0],
+ bot = $('<div style="width:90%; height:35px; position:fixed;z-index:99;bottom:0;left:5%"></div>').appendTo(epgd.$con)[0];
+ this.timeLineL.pan = -1;
+ this.timeLineR.pan = 1;
+ tp.pan = epgd.profile.magazinePan * -30;
+ bot.pan = epgd.profile.magazinePan * 30;
+
+ window.tp = tp;
+ window.bp = bot;
+ window.p = pan;
+ $([this.timeLineL, this.timeLineR, tp, bot]).mouseover(function (ev) {
+ if (pan) return;
+ pan = this.pan;
+ window.setTimeout(function () {
+ if (pan) {
+ var checkPan = window.setInterval(function () {
+ if (!pan || !window.pages_magazine)
+ return window.clearInterval(checkPan);
+ if (pan < -1 || pan > 1)
+ window.pages_magazine.setTime((window.pages_magazine.$con.scrollTop() + 15) * 30 + epgd.profile.minEventTime + pan, true);
+ else
+ window.pages_magazine.setMain(pan);
+ }, (pan < -1 || pan > 1 ? 100 : 1200));
+ }
+ }, epgd.profile.magazinePanDelay);
+ }).mouseout(function () {
+ pan = false;
+ });
+ },
+ setChannel: function (channel) {
+ if (this.list.lengt > 0)
+ this.setMain(0, this.list[channel].index);
+ else{
+ var self= this;
+ $(window).one("resize.pages_magazine",function(){
+ self.setMain(0, self.list[channel].index);
+ })
+ }
},
- setChannel: function (channel) { this.setMain(0, this.list[channel].index); },
setMain: function (delta, baseIndex, dontScroll) {
var optList = this.select,
i = isNaN(baseIndex) ? optList.selectedIndex : baseIndex;
@@ -273,12 +282,12 @@ epgd.pages.magazine = {
this.scrollEnd = (this.endTime - epgd.profile.minEventTime - 43200) / 30; // 60 * 60 *12
}
insHtml && this.update();
- doScroll && this.$con.scrollTop((start - epgd.profile.minEventTime) / 30 - 15);
+ doScroll && this.$con.scrollTop((start - epgd.profile.minEventTime) / 30 - 15);
},
actionHead: function (ev) {
var self = epgd.pages.magazine,
c;
- if (ev.target.nodeName == 'SPAN') {
+ if (ev.target.nodeName == 'SPAN') {
c = ev.target.className;
if (c.indexOf('i-left-dir') > -1)
self.setMain(-1);
@@ -287,7 +296,7 @@ epgd.pages.magazine = {
else if (c.indexOf('i-right-dir') > -1)
self.setMain(1);
else if (c.indexOf('i-forward') > -1)
- self.setMain(self.viewCnt);
+ self.setMain(self.viewCnt);
}
},
actionConOpen: function (ev) {
@@ -355,26 +364,26 @@ epgd.pages.magazine.channel.prototype = {
$col = $(self.col),
desc,h,d,
eTime;
- if (first) {
- if (insAfter) {
- $dt = $col.find('dt:last');
- eTime = $dt[0].eTime;
+ if (first) {
+ if (insAfter) {
+ $dt = $col.find('dt:last');
+ eTime = $dt[0].eTime;
if ($dt.attr('title') == first.id)
- delete data.events[0];
- } else {
- eTime = first.starttime;
- $dt = $col.find('dt:first');
+ delete data.events[0];
+ } else {
+ eTime = first.starttime;
+ $dt = $col.find('dt:first');
if ($dt.attr('title') == data.events[data.events.length - 1].id)
- delete data.events[data.events.length-1];
- }
- for (i = 0; i < data.events.length; i++) {
- event = data.events[i];
+ delete data.events[data.events.length-1];
+ }
+ for (i = 0; i < data.events.length; i++) {
+ event = data.events[i];
desc = event.shortdescription || event.shorttext;
h = event.duration;
d = parseInt(h / 60, 10);/*,
fav = epgd.profile.fav ? ';border-color:' + epgd.profile.fav(event) : ''*/;
h += (event.starttime - eTime);
- h = h < 600 ? 20 : parseInt(h / 30, 10); // 20px = 10 Minuten
+ h = h < 600 ? 20 : parseInt(h / 30, 10); // 20px = 10 Minuten
eTime += h * 30;
insHtml += '<dt title="' + event.id + '" style="height:' + h + 'px;min-height:' + h + 'px">' //' + fav + '
+ '<div class="title">' + event.title + '</div>'
@@ -383,8 +392,8 @@ epgd.pages.magazine.channel.prototype = {
+ (event.numrating ? '<span class="rate rate' + event.numrating + '"> </span>' : '')
+ (event.tipp ? '<b class="tipp">' + event.tipp + '</b>' : '')
+ '<div class="desc">' + (event.genre ? '<span>' + event.genre + '</span> ' : '') + (desc ? desc.replace(/\n/g, '<br />') : '')
- + '</div></dt>';
- };
+ + '</div></dt>';
+ };
} else {
h = (endTime - startTime) / 30;
insHtml = '<div style="height:' + h + 'px;min-height:' + h + 'px"></div>';
@@ -396,13 +405,13 @@ epgd.pages.magazine.channel.prototype = {
$col.find('dt:last')[0].eTime = eTime;
} else {
$col.prepend(insHtml);
- if ($dt && $dt.length) {
- $dt.css('margin-top', '');
+ if ($dt && $dt.length) {
+ $dt.css('margin-top', '');
h = $dt[0].starttime - eTime;
- if (h) {
- h = parseInt(h/30,10) + parseInt($dt.css('min-height'), 10);
- $dt.css({ "height": h + 'px', "min-height": h + 'px' })
- }
+ if (h) {
+ h = parseInt(h/30,10) + parseInt($dt.css('min-height'), 10);
+ $dt.css({ "height": h + 'px', "min-height": h + 'px' })
+ }
} else
$col.find('dt:last')[0].eTime = eTime;
$col.find('dt:first').css('margin-top', parseInt((first.starttime - startTime) / 30, 10))[0].starttime= first;
diff --git a/http/src/js/pages.now.js b/http/src/js/pages.now.js
index 8244f33..85832d8 100644
--- a/http/src/js/pages.now.js
+++ b/http/src/js/pages.now.js
@@ -1,20 +1,20 @@
-epgd.pages.now = {
- $ul: null,
- timestamp_min: -1,
- timestamp_max: 0,
- timestamp_cur: 0,
-
- init: function () {
- $(window).bind('channels_load', function () { epgd.pages.timestamp_max = 0; });
- },
- render: function () {
+epgd.pages.now = {
+ $ul: null,
+ timestamp_min: -1,
+ timestamp_max: 0,
+ timestamp_cur: 0,
+
+ init: function () {
+ $(window).bind('channels_load', function () { epgd.pages.timestamp_max = 0; });
+ },
+ render: function () {
//this.renderTime = new Date().getTime();
if (!window.pages_now) {
this.$search = $('<div style="float:left;margin-left:5px"></div>').appendTo($('#menu_now')).click(function () {
if (this.curType == '@Now')
window.pages_now.setTime(null,'@Now');
- });
- var $searchMenu = this.$searchMenu = $('<ul class="ui-menu ui-widget ui-widget-content"></ul>').appendTo($('#menu_now')).hide();
+ });
+ var $searchMenu = this.$searchMenu = $('<ul class="ui-menu ui-widget ui-widget-content"></ul>').appendTo($('#menu_now')).hide();
epgd.profile.quickTimes && epgd.profile.quickTimes.replace(/([^=]+)=!?([^~]+)~?/g, function (a, l, v) {
$searchMenu.append('<li data-type="' + v + '" class="ui-menu-item ' + (v.indexOf('@') == 0 && v != '@Next' && v != '@Now' ? 'i-search' : 'i-clock') + '">' + l + '</li>');
});
@@ -30,9 +30,9 @@ epgd.pages.now = {
});
$(window).bind("epgd_close.pages_now", function () {
if (window.pages_now) {
- epgd.$dtPicker.hide();
- window.pages_now.$searchMenu.remove();
- window.pages_now.$search.remove();
+ epgd.$dtPicker.hide();
+ window.pages_now.$searchMenu.remove();
+ window.pages_now.$search.remove();
delete window.pages_now;
}
$(window).unbind(".pages_now");
@@ -43,25 +43,25 @@ epgd.pages.now = {
this.$ul = epgd.$con.html('<div id="pageNow"><ul class="teaserList"></ul></div>').find('ul')
.click(function (ev) {
if ($(ev.target).closest('.channel').length) {
- $(window).trigger("epgd_close.eventDetail");
- if (ev.target.className == 'i-tv')
- epgd.vdrs.current.switchChannel(ev.target.parentNode.id);
+ $(window).trigger("epgd_close.eventDetail");
+ if (ev.target.className == 'i-tv')
+ epgd.vdrs.current.switchChannel(ev.target.parentNode.id);
else {
epgd.$menu.menu("select", { target: "#menu_magazine" });
- epgd.pages.magazine.setChannel(ev.target.parentNode.id);
- }
+ epgd.pages.magazine.setChannel($(ev.target).closest('.channel').attr("id"));
+ }
return;
- }
- var li = $(ev.target).closest('li')[0];
- if (!li) return;
- if (!li.eventDetail)
- li.eventDetail = new epgd.eventDetail(li.title);
+ }
+ var li = $(ev.target).closest('li')[0];
+ if (!li) return;
+ if (!li.eventDetail)
+ li.eventDetail = new epgd.eventDetail(li.title);
epgd.utils.loader.process(function () {
li.eventDetail.render();
});
});
this.setTime(null, '@Now');
- };
+ };
$('#menu_now').addClass("menu-active").bind("click.pages_now", function (ev) {
if ((ev.target == this || ev.target.nodeName == 'A') && window.pages_now) {
window.pages_now.$searchMenu.show();
@@ -69,10 +69,10 @@ epgd.pages.now = {
}
return false;
}).append(epgd.$dtPicker.show());
- },
- setTime: function (start, type) {
- type = type || '@time';
- var at = ' ' + epgd.tr.pages.now.at;
+ },
+ setTime: function (start, type) {
+ type = type || '@time';
+ var at = ' ' + epgd.tr.pages.now.at;
if (type == '@Now' || type == '@time') {
this.timestamp_cur = start || epgd.utils.unixTime(epgd.utils.now());
this.load("data/events?time=" + this.timestamp_cur);
@@ -85,51 +85,51 @@ epgd.pages.now = {
} else {
$.timepicker.quicklink({ target: { nodeName: 'U', innerHTML: type }, data: { unit: 'time' } });
$(window).trigger('datepicker');
- }
- this.$search[0].curType = type;
- this.$search.text(this.$searchMenu.find('li[data-type="' + type + '"]').text() + at);
- },
+ }
+ this.$search[0].curType = type;
+ this.$search.text(this.$searchMenu.find('li[data-type="' + type + '"]').text() + at);
+ },
load: function (url,type,data) {
epgd.utils.loader.process(function () {
- pages_now.$ul.empty();
+ pages_now.$ul.empty();
epgd.ajax({ url: epgd.login.url + url, async: false, cache: false, type:type,data:data }, function (data) {
if (!data.events || !data.events.length) {
- epgd.utils.loader.close();
+ epgd.utils.loader.close();
return epgd.utils.popup(epgd.tr.error.noData);
- }
- var imgPath = epgd.profile.eventImgPath ? epgd.profile.eventImgPath + '?no=0&maxW=100&maxH=70&id=' : false,
- min = 0,
- max = 2000000000,
- dFormat = epgd.tr.dateTimePicker.dateFormat.replace(/\.?y+/,'');
- now = parseInt(epgd.utils.now().getTime() / 1000, 10);
- //maxHeight = 0,
+ }
+ var imgPath = epgd.profile.eventImgPath ? epgd.profile.eventImgPath + '?no=0&maxW=100&maxH=70&id=' : false,
+ min = 0,
+ max = 2000000000,
+ dFormat = epgd.tr.dateTimePicker.dateFormat.replace(/\.?y+/,'');
+ now = parseInt(epgd.utils.now().getTime() / 1000, 10);
+ //maxHeight = 0,
$.each(data.events, function (id, event) {
- var end = event.starttime + event.duration,
- progress = ((now - event.starttime) / event.duration * 100),
- desc = event.shortdescription || event.shorttext;
- if (event.starttime > min) min = event.starttime;
- if (end < max) max = end;
- $('<li title="' + event.id + '" class="ui-widget-content ui-corner-all">'
- + epgd.channels.getHtml(event.channelid)
- + '<div class="time' + (event.timerid ? ' hasTimer' : '') + '"><b>' + epgd.utils.formatTime(event.starttime)
- + '</b>&nbsp;&ndash;&nbsp;' + epgd.utils.formatTime(end) + ' ' + epgd.tr.oClock
- + (event.tipp ? '<b class="tipp">' + event.tipp + '</b>' : '')
- + '</div>'
- + (progress > 0 && progress <= 100 ? '<div class="progress"><div style="width: ' + progress + '%"></div></div>' : '<div class="date">' + epgd.utils.formatDate(event.starttime, dFormat) + '</div>')
- + '<div class="desc">'
- + (imgPath && event.imagecount ? '<img src="' + imgPath + event.id + '" />' : '')
- + '<div class="title">' + event.title
- + (event.numrating ? '<span class="rate rate' + event.numrating + '"> </span>' : '')
- + '</div>'
- + (event.genre ? '<span>' + event.genre + '</span> ' : '') + (desc ? desc.replace(/\n/g, '<br />') : '')
- + '</div>'
+ var end = event.starttime + event.duration,
+ progress = ((now - event.starttime) / event.duration * 100),
+ desc = event.shortdescription || event.shorttext;
+ if (event.starttime > min) min = event.starttime;
+ if (end < max) max = end;
+ $('<li title="' + event.id + '" class="ui-widget-content ui-corner-all">'
+ + epgd.channels.getHtml(event.channelid)
+ + '<div class="time' + (event.timerid ? ' hasTimer' : '') + '"><b>' + epgd.utils.formatTime(event.starttime)
+ + '</b>&nbsp;&ndash;&nbsp;' + epgd.utils.formatTime(end) + ' ' + epgd.tr.oClock
+ + (event.tipp ? '<b class="tipp">' + event.tipp + '</b>' : '')
+ + '</div>'
+ + (progress > 0 && progress <= 100 ? '<div class="progress"><div style="width: ' + progress + '%"></div></div>' : '<div class="date">' + epgd.utils.formatDate(event.starttime, dFormat) + '</div>')
+ + '<div class="desc">'
+ + (imgPath && event.imagecount ? '<img src="' + imgPath + event.id + '" />' : '')
+ + '<div class="title">' + event.title
+ + (event.numrating ? '<span class="rate rate' + event.numrating + '"> </span>' : '')
+ + '</div>'
+ + (event.genre ? '<span>' + event.genre + '</span> ' : '') + (desc ? desc.replace(/\n/g, '<br />') : '')
+ + '</div>'
+ '</li>').appendTo(pages_now.$ul);
- });
- epgd.pages.now.timestamp_min = min;
- epgd.pages.now.timestamp_max = max;
+ });
+ epgd.pages.now.timestamp_min = min;
+ epgd.pages.now.timestamp_max = max;
epgd.utils.loader.close();
});
}, true);
- }
-
-};
+ }
+
+};
diff --git a/http/src/js/pages.records.js b/http/src/js/pages.records.js
index 640a27a..0aadd5d 100644
--- a/http/src/js/pages.records.js
+++ b/http/src/js/pages.records.js
@@ -1,180 +1,181 @@
-epgd.pages.records = {
+epgd.pages.records = {
render: function () {
- if (!(epgd.login.rights & epgd.rights.umRecordings) == epgd.rights.umRecordings) return epgd.utils.popup(epgd.tr.error.forbidden, { title: epgd.tr.error.error });
+ if (!(epgd.login.rights & epgd.rights.umRecordings) == epgd.rights.umRecordings) return epgd.utils.popup(epgd.tr.error.forbidden, { title: epgd.tr.error.error });
if (!epgd.profile.recordSubFolderSort)
epgd.profile.recordSubFolderSort = 1;
- $('#menu_records').addClass("menu-active");
- var tr = epgd.tr.pages.records;
-
+ $('#menu_records').addClass("menu-active");
+ var tr = epgd.tr.pages.records;
+
if (!this.$bar) {
- this.$bar = $('<div class="ui-widget ui-state-highlight ui-corner-all" style="padding:3px 10px">'
- + '<button class="iAsButton i-trash" title="' + epgd.tr.del + '"/>'
- + '<div id="recBar">'
- + '<button class="iAsButton i-refresh" onclick="epgd.pages.records.update()">' + epgd.tr.reload + '</button>'
- + epgd.pages.help.getIcon('recRefresh') + '&nbsp;&nbsp; '
- + epgd.tr.pages.search.search + epgd.pages.help.getIcon('recSearch') + '<button class="iAsButton" onclick="this.checked = !this.checked; $(this).toggleClass(\'ui-state-highlight\', this.checked); epgd.pages.records.search();">&nbsp;&#8727;</button>'
- + '<input id="rSVal" type="text" onkeyup="epgd.pages.records.search(this.value)" />'
- + '<button class="iAsButton" onclick="this.checked = !this.checked;$(this).toggleClass(\'ui-state-highlight\', this.checked); epgd.pages.records.search();">&#8727;&nbsp;</button>'
- + '<span style="display:none">'
- + '<button class="iAsButton i-rewind" onclick="epgd.pages.records.searchMove(1)"></button>'
- + '<span id="rSCnt">0</span>'
- + '<button class="iAsButton i-forward" onclick="epgd.pages.records.searchMove(-1)"></button>'
- + '</span>&nbsp;&nbsp; <input type="checkbox" id="dragdrop"' + ($.support.touch ? '' : ' checked="checked"') + ' onchange="epgd.pages.records.dd(this.checked)" />'
- + tr.ddLabel + epgd.pages.help.getIcon('recDD')
- + '</div>'
- +'</div>');
- this.$trash = this.$bar.find('.i-trash').droppable({
- accept: ".rec",
- hoverClass: "ui-state-hover",
- tolerance: "pointer",
- drop: function (ev, ui) {
- var elem = ui.helper.context;
- epgd.utils.confirm(epgd.tr.pages.records.deleteMessage.replace("$src$", elem.getAttribute('data-path')), function (ok) {
- ok && epgd.pages.records.del(elem);
- });
- return false;
- }
- }).click(function () {
- var $recs = $("#records").find('.rec.selected');
- $recs.length && epgd.utils.confirm(epgd.tr.confirmDelete + ($recs.length > 1 ? '<br />' + $recs.length + epgd.tr.entries : ''), function (ok) {
- ok && $recs.each(function () {
- epgd.pages.records.del(this);
- });
- });
- });
+ this.$bar = $('<div class="ui-widget ui-state-highlight ui-corner-all" style="padding:3px 10px">'
+ + '<button class="iAsButton i-trash" title="' + epgd.tr.del + '"/>'
+ + '<div id="recBar">'
+ + '<button class="iAsButton i-refresh" onclick="epgd.pages.records.update()">' + epgd.tr.reload + '</button>'
+ + epgd.pages.help.getIcon('recRefresh') + '&nbsp;&nbsp; '
+ + epgd.tr.pages.search.search + epgd.pages.help.getIcon('recSearch') + '<button class="iAsButton" onclick="this.checked = !this.checked; $(this).toggleClass(\'ui-state-highlight\', this.checked); epgd.pages.records.search();">&nbsp;&#8727;</button>'
+ + '<input id="rSVal" type="text" onkeyup="epgd.pages.records.search(this.value)" />'
+ + '<button class="iAsButton" onclick="this.checked = !this.checked;$(this).toggleClass(\'ui-state-highlight\', this.checked); epgd.pages.records.search();">&#8727;&nbsp;</button>'
+ + '<span style="display:none">'
+ + '<button class="iAsButton i-rewind" onclick="epgd.pages.records.searchMove(1)"></button>'
+ + '<span id="rSCnt">0</span>'
+ + '<button class="iAsButton i-forward" onclick="epgd.pages.records.searchMove(-1)"></button>'
+ + '</span>&nbsp;&nbsp; <input type="checkbox" id="dragdrop"' + ($.support.touch ? '' : ' checked="checked"') + ' onchange="epgd.pages.records.dd(this.checked)" />'
+ + tr.ddLabel + epgd.pages.help.getIcon('recDD')
+ + '</div>'
+ +'</div>');
+ this.$trash = this.$bar.find('.i-trash');
this.curSearch = {
pattern: '', searchValue: '', hits: $(), cur: 0, $count: this.$bar.find('#rSCnt')
, fromStart: this.$bar.find('#rSVal').prev('button')[0]
, toEnd: this.$bar.find('#rSVal').next('button')[0]
}
- epgd.pages.help.initButtons(this.$bar);
- }
- this.$bar.insertAfter(epgd.$menu);
- epgd.$menu.checkMenuSize();
+ }
+ this.$bar.insertAfter(epgd.$menu);
+ this.$trash.droppable({
+ accept: ".rec",
+ hoverClass: "ui-state-hover",
+ tolerance: "pointer",
+ drop: function (ev, ui) {
+ var elem = ui.helper.context;
+ epgd.utils.confirm(epgd.tr.pages.records.deleteMessage.replace("$src$", elem.getAttribute('data-path')), function (ok) {
+ ok && epgd.pages.records.del(elem);
+ });
+ return false;
+ }
+ }).click(function () {
+ var $recs = $("#records").find('.rec.selected');
+ $recs.length && epgd.utils.confirm(epgd.tr.confirmDelete + ($recs.length > 1 ? '<br />' + $recs.length + epgd.tr.entries : ''), function (ok) {
+ ok && $recs.each(function () {
+ epgd.pages.records.del(this);
+ });
+ });
+ });
+ epgd.pages.help.initButtons(this.$bar);
+ epgd.$menu.checkMenuSize();
$(window).bind("epgd_close.records", function () {
epgd.pages.records.$bar.remove();
epgd.$menu.checkMenuSize();
$(window).unbind(".records");
- });
- epgd.$con.html('<div id="records"></div>');
+ });
+ epgd.$con.html('<div id="records"></div>');
epgd.utils.loader.process(function () {
epgd.ajax({ url: epgd.login.url + "data/recordings", cache: false }, function (data) {
- var recs = data.recordings,
- rec, key, paths, t, p, i,
- tree = { f: {}, r: [] },
- vdrs = {},
- vdr, v,
- html = '',
- min = ' ' + epgd.tr.minutes,
- $divs,
- sortFunc = epgd.profile.recordSubFolderSort == 6 ? function (a, b) { return a.starttime > b.starttime ? -1 : 1 }
- : epgd.profile.recordSubFolderSort == 5 ? function (a, b) { return a.starttime > b.starttime ? 1 : -1 }
- : epgd.profile.recordSubFolderSort == 4 ? function (a, b) { return a.path > b.path ? -1 : 1 }
- : epgd.profile.recordSubFolderSort == 3 ? function (a, b) { return a.path > b.path ? 1 : -1 }
- : epgd.profile.recordSubFolderSort == 2 ? function (a, b) { return a.tit > b.tit ? -1 : 1 }
- : function (a, b) { return a.tit > b.tit ? 1 : -1 };
-
+ var recs = data.recordings,
+ rec, key, paths, t, p, i,
+ tree = { f: {}, r: [] },
+ vdrs = {},
+ vdr, v,
+ html = '',
+ min = ' ' + epgd.tr.minutes,
+ $divs,
+ sortFunc = epgd.profile.recordSubFolderSort == 6 ? function (a, b) { return a.starttime > b.starttime ? -1 : 1 }
+ : epgd.profile.recordSubFolderSort == 5 ? function (a, b) { return a.starttime > b.starttime ? 1 : -1 }
+ : epgd.profile.recordSubFolderSort == 4 ? function (a, b) { return a.path > b.path ? -1 : 1 }
+ : epgd.profile.recordSubFolderSort == 3 ? function (a, b) { return a.path > b.path ? 1 : -1 }
+ : epgd.profile.recordSubFolderSort == 2 ? function (a, b) { return a.tit > b.tit ? -1 : 1 }
+ : function (a, b) { return a.tit > b.tit ? 1 : -1 };
+
for (vdr in epgd.vdrs.list) {
- v = epgd.vdrs.list[vdr];
- if (!v.usecommonrecfolder)
- vdrs[vdr] = { f: {}, r: [] };
+ v = epgd.vdrs.list[vdr];
+ if (!v.usecommonrecfolder)
+ vdrs[vdr] = { f: {}, r: [] };
html += '<div>VDR - ' + v.name + ': ' + v.videodir + ' - ' + parseInt(v.videofree / 1000, 10) + ' GB ' + tr.available + ' / ' + parseInt(v.videototal / 1000, 10) + ' GB</div>';
- }
- if (!$('#dragdrop').parent().length) //.append(html)
- return false;
- epgd.$con.find('#records').before(html);
- html = '';
-
+ }
+ if (!$('#dragdrop').parent().length) //.append(html)
+ return false;
+ epgd.$con.find('#records').before(html);
+ html = '';
+
for (i in recs) {
- rec = recs[i];
- t = vdrs[rec.vdruuid] || tree;
- paths = rec.path.split('/');
- paths.pop();
+ rec = recs[i];
+ t = vdrs[rec.vdruuid] || tree;
+ paths = rec.path.split('/');
+ paths.pop();
for (p = 0; p < paths.length; p++) {
- key = paths[p].replace(/_/g, ' ');
+ key = paths[p].replace(/_/g, ' ');
t = t.f[key] || (t.f[key] = { f: {}, r: [] });
- }
+ }
t.r.push(rec);
- }
-
+ }
+
function checkTree(t) {
- var hasContent = false,
- subFolder, subTree;
- t.cnt = 0;
+ var hasContent = false,
+ subFolder, subTree;
+ t.cnt = 0;
for (subFolder in t.f) {
- subTree = t.f[subFolder];
- if (subTree.r.length == 1)
- t.r.push(subTree.r.pop());
- checkTree(subTree);
+ subTree = t.f[subFolder];
+ if (subTree.r.length == 1)
+ t.r.push(subTree.r.pop());
+ checkTree(subTree);
if (checkTree(subTree)) {
hasContent = true;
t.cnt += subTree.cnt;
- } else
+ } else
delete t.f[subFolder];
- }
- if (!hasContent)
- delete t.f;
- t.cnt += t.r.length;
+ }
+ if (!hasContent)
+ delete t.f;
+ t.cnt += t.r.length;
return hasContent || t.r.length > 0;
- }
-
+ }
+
function renderTree(t) {
Object.keys(t.f).sort().forEach(function (subFolder) {
- var subTree = t.f[subFolder],
- i;
- html += subFolder ? '<div class="folder"><h4><span class="i-folder-closed">(' + (subTree.cnt) + ')</span><m class="i-"/>' + subFolder + '</h4>' : '<div>';
- subTree.f && renderTree(subTree);
+ var subTree = t.f[subFolder],
+ i;
+ html += subFolder ? '<div class="folder"><h4><span class="i-folder-closed">(' + (subTree.cnt) + ')</span><m class="i-"/>' + subFolder + '</h4>' : '<div>';
+ subTree.f && renderTree(subTree);
if (subTree.r.length) {
for (i in subTree.r) {
- rec = subTree.r[i];
- rec.tit = ((rec.name != subFolder ? rec.name : '')
- + (subFolder != rec.title && (rec.title != rec.name) ? '<br />' + rec.title : '')
- + (rec.shorttext && (rec.shorttext != rec.name) ? '<i>' + rec.shorttext + '</i>' : '')) || subFolder;
- rec.html = '<div class="rec" data-start="' + rec.starttime + '" data-owner="' + (rec.owner || '')
- + '" data-md5="' + rec.md5path + '" data-path="' + rec.path + '">'
- + '<em>' + epgd.utils.formatDateTime(rec.starttime) + '</em><u>' + parseInt(rec.duration / 60, 10) + min + '</u><b>'
- + rec.tit
+ rec = subTree.r[i];
+ rec.tit = ((rec.name != subFolder ? rec.name : '')
+ + (subFolder != rec.title && (rec.title != rec.name) ? '<br />' + rec.title : '')
+ + (rec.shorttext && (rec.shorttext != rec.name) ? '<i>' + rec.shorttext + '</i>' : '')) || subFolder;
+ rec.html = '<div class="rec" data-start="' + rec.starttime + '" data-owner="' + (rec.owner || '')
+ + '" data-md5="' + rec.md5path + '" data-path="' + rec.path + '">'
+ + '<em>' + epgd.utils.formatDateTime(rec.starttime) + '</em><u>' + parseInt(rec.duration / 60, 10) + min + '</u><b>'
+ + rec.tit
+ '</b></div>';
};
subTree.r.sort(sortFunc);
for (i in subTree.r) { html += subTree.r[i].html; }
- }
+ }
html += '</div>';
});
- }
-
- p = {};
- if (checkTree(tree))
- p[tr.commonRecFolder] = tree;
+ }
+
+ p = {};
+ if (checkTree(tree))
+ p[tr.commonRecFolder] = tree;
for (vdr in vdrs) {
- t = vdrs[vdr];
+ t = vdrs[vdr];
if (checkTree(t)) {
p['VDR - ' + epgd.vdrs.list[vdr].name] = t;
}
- }
- renderTree({ f: p });
-
- $divs = epgd.$con.find('#records').html(html);
+ }
+ renderTree({ f: p });
+
+ $divs = epgd.$con.find('#records').html(html);
if (!$divs.length)
return false;
$divs = $divs.click(epgd.pages.records.action).find('>div');
- if ($divs.length == 1)
+ if ($divs.length == 1)
$divs.first().toggleClass('open');
- epgd.pages.records.$menu = $('<ul class="ui-menu ui-widget ui-widget-content" style="position:absolute">'
- + '<li class="ui-menu-item" data-type="title"><a class="iAsButton i-sort-name-up" data-sort="1"></a>&nbsp;<a class="iAsButton i-sort-name-down" data-sort="2"></a>&nbsp;' + epgd.tr.pages.eventDetail.title + '</li>'
- + '<li class="ui-menu-item" data-type="path"><a class="iAsButton i-sort-name-up" data-sort="3"></a>&nbsp;<a class="iAsButton i-sort-name-down" data-sort="4"></a>&nbsp;' + epgd.tr.pages.timerList.folder + '</li>'
- + '<li class="ui-menu-item" data-type="start"><a class="iAsButton i-sort-name-up" data-sort="5"></a>&nbsp;<a class="iAsButton i-sort-name-down" data-sort="6"></a>&nbsp;' + epgd.tr.pages.timerList.recordTime + '</li>'
+ epgd.pages.records.$menu = $('<ul class="ui-menu ui-widget ui-widget-content" style="position:absolute">'
+ + '<li class="ui-menu-item" data-type="title"><a class="iAsButton i-sort-name-up" data-sort="1"></a>&nbsp;<a class="iAsButton i-sort-name-down" data-sort="2"></a>&nbsp;' + epgd.tr.pages.eventDetail.title + '</li>'
+ + '<li class="ui-menu-item" data-type="path"><a class="iAsButton i-sort-name-up" data-sort="3"></a>&nbsp;<a class="iAsButton i-sort-name-down" data-sort="4"></a>&nbsp;' + epgd.tr.pages.timerList.folder + '</li>'
+ + '<li class="ui-menu-item" data-type="start"><a class="iAsButton i-sort-name-up" data-sort="5"></a>&nbsp;<a class="iAsButton i-sort-name-down" data-sort="6"></a>&nbsp;' + epgd.tr.pages.timerList.recordTime + '</li>'
+ '</ul>').hide().appendTo(epgd.$con);
$('#dragdrop').change();
epgd.pages.records.curSearch.$recs = null;
epgd.utils.loader.close();
});
},true);
- },
+ },
search: function (searchValue) {
var cs = this.curSearch,
- sLength,
- $recs,
+ sLength,
+ $recs,
pattern,
fromStart = cs.fromStart.checked,
toEnd = cs.toEnd.checked;
@@ -219,7 +220,7 @@ epgd.pages.records = {
this.searchMove(0);
} else
cs.$count.parent().hide();
- },
+ },
searchMove: function (dir) {
this.curSearch.cur += dir;
var n = this.curSearch.hits[this.curSearch.cur];
@@ -232,15 +233,15 @@ epgd.pages.records = {
$(n).css({ 'background-color': 'green' });
window.setTimeout(function () { $(n).css({ 'background-color': '' }); },1500);
}
- },
+ },
action: function (ev) {
- var elem = ev.target; // aktueller Sortiebutton, bzw. inital jquery-elment
- if (elem.nodeName == 'MARK')
- elem = elem.parentNode;
+ var elem = ev.target; // aktueller Sortiebutton, bzw. inital jquery-elment
+ if (elem.nodeName == 'MARK')
+ elem = elem.parentNode;
if (elem.nodeName == 'M') {
epgd.pages.records.$menu.show().position({
- my: "left top",
- at: "left bottom",
+ my: "left top",
+ at: "left bottom",
of: elem
}).find('a').removeClass('ui-state-highlight');
epgd.pages.records.$menu.find('a[data-sort=' + (elem.curSort || epgd.profile.recordSubFolderSort) +']').addClass('ui-state-highlight');
@@ -255,23 +256,23 @@ epgd.pages.records = {
epgd.pages.records.$menu.hide();
$(document).unbind('.recmenu');
}).bind("keyup.recmenu", function (e) {
- if (e.keyCode == 27)
+ if (e.keyCode == 27)
$(document).trigger("click.recmenu");
});
return false;
- }
-
- if (elem.nodeName == 'I' || elem.nodeName == 'SPAN')
- elem = elem.parentNode;
+ }
+
+ if (elem.nodeName == 'I' || elem.nodeName == 'SPAN')
+ elem = elem.parentNode;
if (elem.nodeName == 'B') {
- elem = elem.parentNode;
- if (!elem.recDetail)
- elem.recDetail = new epgd.recordDetail(elem);
+ elem = elem.parentNode;
+ if (!elem.recDetail)
+ elem.recDetail = new epgd.recordDetail(elem);
epgd.utils.loader.process(function () {
elem.recDetail.render();
});
} else if (elem.nodeName == 'H4') {
- elem = elem.parentNode;
+ elem = elem.parentNode;
if (elem.nodeName == 'DIV' && elem.className.indexOf('folder') >= 0) {
if (elem.className.indexOf('open') == -1) {
if ($(window).width() < 500) {
@@ -285,7 +286,7 @@ epgd.pages.records = {
}
} else
$(elem).closest('.rec').toggleClass('selected');
- },
+ },
dd: function (enable) {
var $records = $("#records"),
$recs = $records.find('.rec').has('.ui-draggable');
@@ -307,7 +308,7 @@ epgd.pages.records = {
document.body.style.paddingTop = epgd.pages.records.$bar.height() + 'px';
document.body.scrollTop -= ev.pageY - $(ev.delegateTarget).closest('.folder').offset().top;
/*$(document).bind("keyup.dd", [this], function (ev) {
- if (ev.keyCode == 27)
+ if (ev.keyCode == 27)
$.ui.ddmanager.dragStop($(ev.data[0]).draggable("instance"), ev); //$(ev.data[0]).draggable("cancel");
}); */
},
@@ -320,44 +321,44 @@ epgd.pages.records = {
} else if ($recs.length){
$recs.draggable(enable ? "enable" : "disable");
}
- },
+ },
__dropSettings: {
accept: ".rec",
hoverClass: "ui-state-hover",
tolerance: 'pointer',
drop: function (ev, ui) {
console.log("Dropped!", ev, ui);
- var $elem = $(ev.target),
- path = '';
+ var $elem = $(ev.target),
+ path = '';
do {
path = $elem.text().replace(/^\(.*\)/,'') + '/' + path;
$elem = $elem.parent();
- } while (($elem = $elem.prevAll('h4')).length);
+ } while (($elem = $elem.prevAll('h4')).length);
epgd.pages.records.move(ui.draggable.context, path.slice(path.indexOf('/', 2) + 1).replace(/ /g, '_'),ev.target.parentNode)
- return false;
+ return false;
}
- },
- update: function () {
- epgd.ajax({ url: epgd.login.url + "data/updaterecordings" }, function (data) {
- epgd.utils.topInfo(epgd.tr.pages.records.refreshMessage.replace('$sec$', 5), { autoClose: 5000 });
- $(window).trigger("epgd_close.records");
- window.setTimeout(function () { epgd.pages.records.render(); }, 5000);
- });
- },
- move: function (elem, path, folder) {
- var curPath = elem.getAttribute('data-path').split('/'),
- name = curPath.pop(), // 2016-08-21.11.18.59-0.rec entfernen
- i,
- endPos= 0;
- curPath = curPath.join('/') + '/';
+ },
+ update: function () {
+ epgd.ajax({ url: epgd.login.url + "data/updaterecordings" }, function (data) {
+ epgd.utils.topInfo(epgd.tr.pages.records.refreshMessage.replace('$sec$', 5), { autoClose: 5000 });
+ $(window).trigger("epgd_close.records");
+ window.setTimeout(function () { epgd.pages.records.render(); }, 5000);
+ });
+ },
+ move: function (elem, path, folder) {
+ var curPath = elem.getAttribute('data-path').split('/'),
+ name = curPath.pop(), // 2016-08-21.11.18.59-0.rec entfernen
+ i,
+ endPos= 0;
+ curPath = curPath.join('/') + '/';
for (i = 0; i < Math.min(path.length, curPath.length) && path[i] == curPath[i]; i++) {
if (path[i] == '/')
endPos= i;
- }
- curPath = window.prompt(epgd.tr.pages.records.moveMessage.replace("$src$", curPath), path.concat(curPath.slice(endPos)).replace(/\/{2,}/g, '/').replace(/\/$/, ''));
- if (curPath) {
- epgd.ajax({ url: epgd.login.url + 'data/renamerecording?starttime=' + elem.getAttribute('data-start') + '&md5path=' + elem.getAttribute('data-md5') + '&owner=' + elem.getAttribute('data-owner') + '&name=' + curPath.replace(/\//g, '~'), async: true }, function (data) {
- data = data.result;
+ }
+ curPath = window.prompt(epgd.tr.pages.records.moveMessage.replace("$src$", curPath), path.concat(curPath.slice(endPos)).replace(/\/{2,}/g, '/').replace(/\/$/, ''));
+ if (curPath) {
+ epgd.ajax({ url: epgd.login.url + 'data/renamerecording?starttime=' + elem.getAttribute('data-start') + '&md5path=' + elem.getAttribute('data-md5') + '&owner=' + elem.getAttribute('data-owner') + '&name=' + curPath.replace(/\//g, '~'), async: true }, function (data) {
+ data = data.result;
if (data && data.state == 200) {
var $elem = $(elem),
$counter = $elem.prevAll('h4').find('span'),
@@ -390,15 +391,15 @@ epgd.pages.records = {
epgd.pages.records.sort(folder);
epgd.utils.topInfo(epgd.tr.dataSaved);
epgd.pages.records.__updateRec(elem);
- }
+ }
else {
- epgd.utils.topInfo(data.message, { isError: 1 });
+ epgd.utils.topInfo(data.message, { isError: 1 });
return false;
- }
- });
- }
- return !!curPath;
- },
+ }
+ });
+ }
+ return !!curPath;
+ },
__updateRec: function (elem, cnt) {
epgd.ajax({ url: epgd.login.url + 'data/recording?starttime=' + elem.getAttribute('data-start') + '&path=' + elem.getAttribute('data-path') + '&owner=' + elem.getAttribute('data-owner') + '&'+cnt, async: true }, function (data) {
$(elem).attr('data-md5', data.recording.md5path).draggable("enable").removeClass("ui-state-disabled");
@@ -411,20 +412,20 @@ epgd.pages.records = {
window.setTimeout(epgd.pages.records.__updateRec, 3000,elem,++cnt);
return true;
});
- },
+ },
del: function (elem) {
epgd.ajax({ url: epgd.login.url + 'data/deleterecording?starttime=' + elem.getAttribute('data-start') + '&md5path=' + elem.getAttribute('data-md5') + '&owner=' + elem.getAttribute('data-owner'), async: true }, function (data) {
- data = data.result;
+ data = data.result;
if (data && data.state == 200) {
- epgd.utils.topInfo(elem.getAttribute('data-path') + '<br />' + epgd.tr.dataSaved);
+ epgd.utils.topInfo(elem.getAttribute('data-path') + '<br />' + epgd.tr.dataSaved);
$(elem).parents('.folder:not(:last)').find('>h4>span').each(function () {
this.innerHTML = '(' + (parseInt(this.innerHTML.slice(1, -1), 10) - 1) + ')';
- });
- $(elem).remove();
- } else
+ });
+ $(elem).remove();
+ } else
epgd.utils.topInfo(elem.getAttribute('data-path') + '<br />' + data.message, { isError: 1 });
- });
- },
+ });
+ },
sort: function (con, sort) {
var $elems = $(con).find('>div.rec'),
dir = sort % 2 ? 1 : -1,
@@ -440,9 +441,9 @@ epgd.pages.records = {
$(con).find('>div.folder').each(function () {
epgd.pages.records.sort(this, sort);
});
- }
-};
-/*
+ }
+};
+/*
$.widget("ui.draggable", $.ui.draggable, {
_mouseStart: function (ev) {
if (this.options.beforeStart && this.options.beforeStart(ev) === false)