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

118 lines
2.8 KiB
JavaScript
Raw Normal View History

define(['jQuery'], function ($) {
2016-10-23 01:11:46 -04:00
'use strict';
2013-09-05 13:05:39 -04:00
function save(page) {
Dashboard.showLoadingMsg();
2014-11-14 21:31:03 -05:00
var apiClient = ApiClient;
2014-02-26 22:57:37 -05:00
// After saving chapter task, now save server config
2015-12-14 10:43:03 -05:00
apiClient.getJSON(apiClient.getUrl('Startup/Configuration')).then(function (config) {
2013-09-05 13:05:39 -04:00
2014-02-26 22:57:37 -05:00
config.PreferredMetadataLanguage = $('#selectLanguage', page).val();
config.MetadataCountryCode = $('#selectCountry', page).val();
2014-03-06 00:17:13 -05:00
2014-11-14 21:31:03 -05:00
apiClient.ajax({
type: 'POST',
data: config,
url: apiClient.getUrl('Startup/Configuration')
2015-12-14 10:43:03 -05:00
}).then(function () {
2013-09-05 13:05:39 -04:00
2014-02-26 22:57:37 -05:00
navigateToNextPage();
2013-09-05 13:05:39 -04:00
2013-12-22 22:46:03 -05:00
});
});
}
2013-09-05 13:05:39 -04:00
2015-12-14 10:43:03 -05:00
function populateLanguages(select, languages) {
var html = "";
html += "<option value=''></option>";
for (var i = 0, length = languages.length; i < length; i++) {
var culture = languages[i];
html += "<option value='" + culture.TwoLetterISOLanguageName + "'>" + culture.DisplayName + "</option>";
}
select.innerHTML = html;
}
function populateCountries (select, allCountries) {
var html = "";
html += "<option value=''></option>";
for (var i = 0, length = allCountries.length; i < length; i++) {
var culture = allCountries[i];
html += "<option value='" + culture.TwoLetterISORegionName + "'>" + culture.DisplayName + "</option>";
}
select.innerHTML = html;
}
2013-12-22 22:46:03 -05:00
function reloadData(page, config, cultures, countries) {
2015-12-14 10:43:03 -05:00
populateLanguages(page.querySelector('#selectLanguage'), cultures);
populateCountries(page.querySelector('#selectCountry'), countries);
2015-09-03 13:01:51 -04:00
$('#selectLanguage', page).val(config.PreferredMetadataLanguage);
$('#selectCountry', page).val(config.MetadataCountryCode);
2013-12-22 22:46:03 -05:00
Dashboard.hideLoadingMsg();
}
function reload(page) {
Dashboard.showLoadingMsg();
2014-11-14 21:31:03 -05:00
var apiClient = ApiClient;
var promise1 = apiClient.getJSON(apiClient.getUrl('Startup/Configuration'));
var promise2 = apiClient.getCultures();
var promise3 = apiClient.getCountries();
2013-12-22 22:46:03 -05:00
2015-12-14 10:43:03 -05:00
Promise.all([promise1, promise2, promise3]).then(function (responses) {
2013-12-22 22:46:03 -05:00
2015-12-14 10:43:03 -05:00
reloadData(page, responses[0], responses[1], responses[2]);
});
}
2013-12-22 22:46:03 -05:00
function navigateToNextPage() {
2013-09-05 13:05:39 -04:00
2015-08-20 16:54:00 -04:00
Dashboard.navigate('wizardlivetvtuner.html');
2013-12-22 22:46:03 -05:00
}
2013-09-05 13:05:39 -04:00
2015-05-18 21:46:31 -04:00
function onSubmit() {
var form = this;
2013-09-05 13:05:39 -04:00
2015-05-18 21:46:31 -04:00
save(form);
2013-09-05 13:05:39 -04:00
2015-05-18 21:46:31 -04:00
return false;
}
2013-12-22 22:46:03 -05:00
2015-09-01 10:01:59 -04:00
$(document).on('pageinit', "#wizardSettingsPage", function () {
2013-12-22 22:46:03 -05:00
2015-05-23 16:44:15 -04:00
var page = this;
2015-05-18 21:46:31 -04:00
$('.wizardSettingsForm', page).off('submit', onSubmit).on('submit', onSubmit);
2013-12-22 22:46:03 -05:00
2015-09-24 13:08:10 -04:00
}).on('pageshow', "#wizardSettingsPage", function () {
2013-12-22 22:46:03 -05:00
2015-05-18 21:46:31 -04:00
var page = this;
2013-12-22 22:46:03 -05:00
2015-05-18 21:46:31 -04:00
reload(page);
});
2013-12-22 22:46:03 -05:00
});