jellyfin-web/dashboard-ui/scripts/wizardlivetvguide.js

102 lines
2.4 KiB
JavaScript
Raw Normal View History

2015-08-21 19:59:10 -07:00
(function ($, document) {
var guideController;
2015-08-22 09:55:23 -07:00
function init(page, type) {
2015-08-21 19:59:10 -07:00
2015-08-22 09:55:23 -07:00
Dashboard.showLoadingMsg();
2015-08-21 19:59:10 -07:00
2015-08-22 09:55:23 -07:00
var apiClient = ApiClient;
2015-08-21 19:59:10 -07:00
2015-08-22 09:55:23 -07:00
apiClient.getJSON(apiClient.getUrl('Startup/Configuration')).done(function (config) {
var providerId = null;
if (config.LiveTvGuideProviderType.toLowerCase() == type.toLowerCase()) {
if (config.LiveTvGuideProviderId) {
providerId = config.LiveTvGuideProviderId;
}
}
var url = 'tvproviders/' + type.toLowerCase() + '.js';
require([url], function (factory) {
var instance = new factory(page, providerId, {
showCancelButton: false,
showSubmitButton: false,
showConfirmation: false
});
2015-08-21 19:59:10 -07:00
2015-08-22 09:55:23 -07:00
Dashboard.hideLoadingMsg();
instance.init();
guideController = instance;
$(guideController).on('submitted', skip);
});
2015-08-21 19:59:10 -07:00
});
}
2015-08-22 09:55:23 -07:00
function loadTemplate(page, type) {
2015-08-21 19:59:10 -07:00
guideController = null;
ApiClient.ajax({
type: 'GET',
url: 'tvproviders/' + type + '.template.html'
}).done(function (html) {
var elem = page.querySelector('.providerTemplate');
elem.innerHTML = Globalize.translateDocument(html);
$(elem).trigger('create');
2015-08-22 09:55:23 -07:00
init(page, type);
2015-08-21 19:59:10 -07:00
});
}
function skip() {
var apiClient = ApiClient;
apiClient.getJSON(apiClient.getUrl('Startup/Info')).done(function (info) {
if (info.SupportsRunningAsService) {
Dashboard.navigate('wizardservice.html');
} else {
Dashboard.navigate('wizardagreement.html');
}
});
}
function next() {
guideController.submit();
}
2015-08-22 09:55:23 -07:00
function reload(page) {
$('#selectType', page).trigger('change');
}
2015-08-21 19:59:10 -07:00
$(document).on('pageinitdepends', "#wizardGuidePage", function () {
var page = this;
$('#selectType', page).on('change', function () {
loadTemplate(page, this.value);
});
$('.btnSkip', page).on('click', skip);
$('.btnNext', page).on('click', next);
}).on('pageshowready', "#wizardGuidePage", function () {
var page = this;
2015-08-22 09:55:23 -07:00
reload(page);
2015-08-21 19:59:10 -07:00
});
})(jQuery, document, window);