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

update tuner setup

This commit is contained in:
Luke Pulverenti 2015-07-23 09:23:22 -04:00
parent 8ef120c759
commit 86dea1fa4c
14 changed files with 394 additions and 248 deletions

View file

@ -177,6 +177,7 @@
ApiClient.getNamedConfiguration("livetv").done(function (config) {
renderDevices(page, config.TunerHosts);
renderProviders(page, config.ListingProviders);
});
Dashboard.hideLoadingMsg();
@ -210,7 +211,7 @@
html += '</p>';
html += '</a>';
html += '<a href="#" class="btnDeleteDevice">';
html += '<a href="#" class="btnDeleteDevice" data-id="' + device.Id + '">';
html += '</a>';
html += '</li>';
}
@ -279,15 +280,128 @@
}).done(function () {
reload(page);
}).fail(function () {
Dashboard.alert({
message: Globalize.translate('ErrorAddingTunerDevice')
});
});
}
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="' + getProviderConfigurationUrl(provider.Type) + '?id=' + provider.Id + '">';
html += '<h3>';
html += getProviderName(provider.Type);
html += '</h3>';
html += '</a>';
html += '<a href="#" class="btnDelete" data-id="' + provider.Id + '">';
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/ListingProviders', {
Id: id
})
}).always(function () {
reload(page);
});
}
});
}
function getProviderName(providerId) {
providerId = providerId.toLowerCase();
switch (providerId) {
case 'schedulesdirect':
return 'Schedules Direct';
default:
return 'Unknown';
}
}
function getProviderConfigurationUrl(providerId) {
providerId = providerId.toLowerCase();
switch (providerId) {
case 'schedulesdirect':
return 'livetvguideprovider-scd.html';
default:
break;
}
}
function addProvider(button) {
var menuItems = [];
menuItems.push({
name: 'Schedules Direct (USA / Canada)',
id: 'SchedulesDirect'
});
require(['actionsheet'], function () {
ActionSheetElement.show({
items: menuItems,
positionTo: button,
callback: function (id) {
Dashboard.navigate(getProviderConfigurationUrl(id));
}
});
});
}
$(document).on('pageinitdepends', "#liveTvStatusPage", function () {
var page = this;
$('.btnAddDevice', page).on('click', function () {
$('#txtDevicePath', page).val('');
page.querySelector('.dlgAddDevice').open();
});
@ -296,6 +410,10 @@
return false;
});
$('.btnAddProvider', page).on('click', function () {
addProvider(this);
});
}).on('pageshowready', "#liveTvStatusPage", function () {
var page = this;