diff options
author | horchi <vdr@jwendel.de> | 2017-10-09 19:28:31 +0200 |
---|---|---|
committer | horchi <vdr@jwendel.de> | 2017-10-09 19:28:31 +0200 |
commit | 894823c8b2b9382042d70df670966e8376b9138e (patch) | |
tree | a5c6809952be4ed34e5f46f098ba9513d6dd8ce1 /http/src/js | |
parent | 1633749d2a188add75ad2aa68dc8bea9b7cd6c85 (diff) | |
parent | c9ee5f0c5ebba0f9bee189aa591892a320d7caab (diff) | |
download | vdr-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.js | 305 | ||||
-rw-r--r-- | http/src/js/eventDetail.js | 155 | ||||
-rw-r--r-- | http/src/js/pages.magazine.js | 137 | ||||
-rw-r--r-- | http/src/js/pages.now.js | 136 | ||||
-rw-r--r-- | http/src/js/pages.records.js | 367 |
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">->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> – ' + 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> – ' + 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') + ' ' - + 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();"> ∗</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();">∗ </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> <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') + ' '
+ + 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();"> ∗</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();">∗ </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> <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> <a class="iAsButton i-sort-name-down" data-sort="2"></a> ' + 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> <a class="iAsButton i-sort-name-down" data-sort="4"></a> ' + 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> <a class="iAsButton i-sort-name-down" data-sort="6"></a> ' + 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> <a class="iAsButton i-sort-name-down" data-sort="2"></a> ' + 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> <a class="iAsButton i-sort-name-down" data-sort="4"></a> ' + 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> <a class="iAsButton i-sort-name-down" data-sort="6"></a> ' + 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)
|