1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

update live tv setup

This commit is contained in:
Luke Pulverenti 2015-07-23 01:25:55 -04:00
parent 13c3281ad0
commit 8ef120c759
16 changed files with 212 additions and 57 deletions

View file

@ -28,8 +28,6 @@
EnableImageTypes: "Primary,Backdrop,Banner,Thumb"
};
query.ParentId = LibraryMenu.getTopParentId();
ApiClient.getNextUpEpisodes(query).done(function (result) {
if (result.Items.length) {

View file

@ -16,16 +16,6 @@
EnableImageTypes: "Primary,Backdrop,Banner,Thumb"
};
query.ParentId = LibraryMenu.getTopParentId();
var context = '';
if (query.ParentId) {
context = 'tv';
}
ApiClient.getJSON(ApiClient.getUrl("Shows/Upcoming", query)).done(function (result) {
var items = result.Items;

View file

@ -0,0 +1,111 @@
(function ($, document, window) {
function loadPage(page) {
ApiClient.getNamedConfiguration("livetv").done(function (config) {
renderProviders(page, config.ListingProviders);
Dashboard.hideLoadingMsg();
});
}
function renderProviders(page, providers) {
var html = '';
html += '<ul data-role="listview" data-inset="true" data-split-icon="delete">';
for (var i = 0, length = providers.length; i < length; i++) {
var provider = providers[i];
html += '<li>';
html += '<a href="#">';
html += '<h3>';
html += provider.Name;
html += '</h3>';
html += '</a>';
html += '<a href="#" class="btnDelete">';
html += '</a>';
html += '</li>';
}
html += '</ul>';
var elem = $('.providerList', page).html(html).trigger('create');
$('.btnDelete', elem).on('click', function () {
var id = this.getAttribute('data-id');
deleteProvider(page, id);
});
}
function deleteProvider(page, id) {
var message = Globalize.translate('MessageConfirmDeleteGuideProvider');
Dashboard.confirm(message, Globalize.translate('HeaderDeleteProvider'), function (confirmResult) {
if (confirmResult) {
Dashboard.showLoadingMsg();
ApiClient.ajax({
type: "DELETE",
url: ApiClient.getUrl('LiveTv/TunerHosts', {
Id: id
})
}).done(function () {
loadPage(page);
});
}
});
}
function submitAddProviderForm(page) {
page.querySelector('.dlgAddProvider').close();
Dashboard.showLoadingMsg();
ApiClient.ajax({
type: "POST",
url: ApiClient.getUrl('LiveTv/TunerHosts'),
data: JSON.stringify({
Type: $('#selectTunerDeviceType', page).val(),
Url: $('#txtDevicePath', page).val()
}),
contentType: "application/json"
}).done(function () {
loadPage(page);
});
}
$(document).on('pageinitdepends', "#liveTvGuideSettingsPage", function () {
var page = this;
$('.btnAddProvider', page).on('click', function () {
page.querySelector('.dlgAddProvider').open();
});
$('.formAddProvider', page).on('submit', function () {
submitAddProviderForm(page);
return false;
});
}).on('pageshowready', "#liveTvGuideSettingsPage", function () {
var page = this;
loadPage(page);
});
})(jQuery, document, window);

View file

@ -291,7 +291,7 @@
page.querySelector('.dlgAddDevice').open();
});
$('.dlgAddDevice', page).on('submit', function () {
$('.formAddDevice', page).on('submit', function () {
submitAddDeviceForm(page);
return false;
});

View file

@ -33,7 +33,15 @@
$('#chkEnableChromecastAc3', page).checked(AppSettings.enableChromecastAc3()).checkboxradio("refresh");
$('#chkExternalVideoPlayer', page).checked(AppSettings.enableExternalPlayers()).checkboxradio("refresh");
$('#selectMaxBitrate', page).val(AppSettings.maxStreamingBitrate()).selectmenu("refresh");
var bitrateOptions = MediaPlayer.getVideoQualityOptions().map(function (i) {
return '<option value="' + i.bitrate + '">' + i.name + '</option>';
}).join('');
$('#selectMaxBitrate', page).html(bitrateOptions).val(AppSettings.maxStreamingBitrate()).selectmenu("refresh");
$('#selectMaxChromecastBitrate', page).val(AppSettings.maxChromecastBitrate()).selectmenu("refresh");
Dashboard.hideLoadingMsg();

View file

@ -29,7 +29,7 @@
});
}
function getPluginCardHtml(plugin, getTextLinesCallback, pluginConfigurationPages) {
function getPluginCardHtml(plugin, pluginConfigurationPages) {
var configPage = $.grep(pluginConfigurationPages, function (pluginConfigurationPage) {
return pluginConfigurationPage.PluginId == plugin.Id;
@ -96,10 +96,6 @@
html += plugin.Version;
html += "</div>";
if (getTextLinesCallback) {
html += getTextLinesCallback(plugin);
}
// cardFooter
html += "</div>";
@ -112,16 +108,16 @@
return html;
}
function renderPlugins(page, plugins, getTextLinesCallback) {
function renderPlugins(page, plugins) {
ApiClient.getJSON(ApiClient.getUrl("dashboard/configurationpages") + "?pageType=PluginConfiguration").done(function (configPages) {
populateList(page, plugins, getTextLinesCallback, configPages);
populateList(page, plugins, configPages);
});
}
function populateList(page, plugins, getTextLinesCallback, pluginConfigurationPages) {
function populateList(page, plugins, pluginConfigurationPages) {
plugins = plugins.sort(function (plugin1, plugin2) {
@ -130,7 +126,7 @@
});
var html = plugins.map(function (p) {
return getPluginCardHtml(p, getTextLinesCallback, pluginConfigurationPages);
return getPluginCardHtml(p, pluginConfigurationPages);
}).join('');