From 65e13cfa23db0c3481f53a0313ef35b9e2e61d19 Mon Sep 17 00:00:00 2001 From: horchi Date: Wed, 28 Jun 2017 21:01:27 +0200 Subject: 2017-06-28: version 1.1.119 (rechner)\n - added: Link to osd2web, if available\n\n --- http/src/js/1_main.js | 305 ++++++++++++++++++++++++++------------------------ 1 file changed, 157 insertions(+), 148 deletions(-) (limited to 'http/src/js/1_main.js') diff --git a/http/src/js/1_main.js b/http/src/js/1_main.js index 3a8251a..09e93c4 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 = $('

' + txt + '

').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 = $("
") .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]) { $("
") .addClass("ui-autocomplete-multiselect-item") .text(ui.item.label) .append( $("") .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 = '').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('').replace(/~/g, '' + epgd.tr.clear + '').appendTo(tp_inst.inst.dpDiv.find('.ui-datepicker-buttonpane')).click(function () { + else + $('').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 = $('').appendTo(document.body).hide().bind("click",function () { $(this).datepicker("show"); return false; }); - epgd.$dtPicker.datetimepicker({ - beforeShow: function () { - this.$overlay = $("
").addClass("ui-widget-overlay ui-front").appendTo(document.body); + epgd.$dtPicker.datetimepicker({ + beforeShow: function () { + this.$overlay = $("
").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 ? '' : '') + ''); epgd.$menu.append(''); - epgd.$menu.append(''); + epgd.$menu.append(''); } epgd.profile.needLogin == "1" && epgd.$menu.append('