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:
parent
8ef120c759
commit
86dea1fa4c
14 changed files with 394 additions and 248 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue