jellyfin-web/dashboard-ui/scripts/livetvtunerprovider-hdhomerun.js
Luke Pulverenti 88d6c63263 use strict
2016-10-23 01:11:46 -04:00

81 lines
2.3 KiB
JavaScript

define(['jQuery'], function ($) {
'use strict';
function reload(page, providerId) {
page.querySelector('.txtDevicePath').value = '';
page.querySelector('.chkFavorite').checked = false;
if (providerId) {
ApiClient.getNamedConfiguration("livetv").then(function (config) {
var info = config.TunerHosts.filter(function (i) {
return i.Id == providerId;
})[0];
page.querySelector('.txtDevicePath').value = info.Url || '';
page.querySelector('.chkFavorite').checked = info.ImportFavoritesOnly;
page.querySelector('.chkTranscode').checked = info.AllowHWTranscoding;
page.querySelector('.chkEnabled').checked = info.IsEnabled;
});
} else {
page.querySelector('.chkEnabled').checked = true;
}
}
function submitForm(page) {
Dashboard.showLoadingMsg();
var info = {
Type: 'hdhomerun',
Url: page.querySelector('.txtDevicePath').value,
ImportFavoritesOnly: page.querySelector('.chkFavorite').checked,
AllowHWTranscoding: page.querySelector('.chkTranscode').checked,
IsEnabled: page.querySelector('.chkEnabled').checked,
DataVersion: 1
};
var id = getParameterByName('id');
if (id) {
info.Id = id;
}
ApiClient.ajax({
type: "POST",
url: ApiClient.getUrl('LiveTv/TunerHosts'),
data: JSON.stringify(info),
contentType: "application/json"
}).then(function (result) {
Dashboard.processServerConfigurationUpdateResult();
Dashboard.navigate('livetvstatus.html');
}, function () {
Dashboard.alert({
message: Globalize.translate('ErrorSavingTvProvider')
});
});
}
$(document).on('pageinit', "#liveTvTunerProviderHdHomerunPage", function () {
var page = this;
$('form', page).on('submit', function () {
submitForm(page);
return false;
});
}).on('pageshow', "#liveTvTunerProviderHdHomerunPage", function () {
var providerId = getParameterByName('id');
var page = this;
reload(page, providerId);
});
});