mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
finish open subtitle config page
This commit is contained in:
parent
746a467d6a
commit
0718ddfce4
2 changed files with 45 additions and 2 deletions
|
@ -22,6 +22,7 @@
|
||||||
|
|
||||||
<form class="metadataSubtitlesForm">
|
<form class="metadataSubtitlesForm">
|
||||||
<p>${HeaderSubtitleDownloadingHelp}</p>
|
<p>${HeaderSubtitleDownloadingHelp}</p>
|
||||||
|
<p>${HeaderSubtitleDownloadingMoreHelp}</p>
|
||||||
<fieldset data-role="controlgroup">
|
<fieldset data-role="controlgroup">
|
||||||
<legend>${HeaderDownloadSubtitlesFor}</legend>
|
<legend>${HeaderDownloadSubtitlesFor}</legend>
|
||||||
<input type="checkbox" data-mini="true" id="chkSubtitlesMovies" />
|
<input type="checkbox" data-mini="true" id="chkSubtitlesMovies" />
|
||||||
|
@ -31,6 +32,12 @@
|
||||||
<label for="chkSubtitlesEpisodes">${OptionEpisodes}</label>
|
<label for="chkSubtitlesEpisodes">${OptionEpisodes}</label>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<br />
|
<br />
|
||||||
|
<div>
|
||||||
|
<label>${LabelDownloadLanguages}</label>
|
||||||
|
<div class="downloadLanguages" style="max-height: 200px; overflow-y: auto; border: 1px solid #e8e8e8;">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
<ul data-role="listview" class="ulForm">
|
<ul data-role="listview" class="ulForm">
|
||||||
<li>
|
<li>
|
||||||
<input type="checkbox" id="chkRequireExternalSubtitles" data-mini="true" />
|
<input type="checkbox" id="chkRequireExternalSubtitles" data-mini="true" />
|
||||||
|
@ -40,6 +47,7 @@
|
||||||
<li>
|
<li>
|
||||||
<label for="txtOpenSubtitleUsername">${LabelOpenSubtitlesUsername}</label>
|
<label for="txtOpenSubtitleUsername">${LabelOpenSubtitlesUsername}</label>
|
||||||
<input type="text" id="txtOpenSubtitleUsername" data-mini="true" required="required" />
|
<input type="text" id="txtOpenSubtitleUsername" data-mini="true" required="required" />
|
||||||
|
<div class="fieldDescription"><a target="_blank" href="http://www.opensubtitles.org/">${ButtonRegister}</a></div>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<label for="txtOpenSubtitlePassword">${LabelOpenSubtitlesPassword}</label>
|
<label for="txtOpenSubtitlePassword">${LabelOpenSubtitlesPassword}</label>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
(function ($, document, window) {
|
(function ($, document, window) {
|
||||||
|
|
||||||
function loadPage(page, config, systemInfo) {
|
function loadPage(page, config, languages) {
|
||||||
|
|
||||||
$('#chkSubtitlesMovies', page).checked(config.SubtitleOptions.DownloadMovieSubtitles).checkboxradio("refresh");
|
$('#chkSubtitlesMovies', page).checked(config.SubtitleOptions.DownloadMovieSubtitles).checkboxradio("refresh");
|
||||||
$('#chkSubtitlesEpisodes', page).checked(config.SubtitleOptions.DownloadEpisodeSubtitles).checkboxradio("refresh");
|
$('#chkSubtitlesEpisodes', page).checked(config.SubtitleOptions.DownloadEpisodeSubtitles).checkboxradio("refresh");
|
||||||
|
@ -10,9 +10,38 @@
|
||||||
$('#txtOpenSubtitleUsername', page).val(config.SubtitleOptions.OpenSubtitlesUsername);
|
$('#txtOpenSubtitleUsername', page).val(config.SubtitleOptions.OpenSubtitlesUsername);
|
||||||
$('#txtOpenSubtitlePassword', page).val('');
|
$('#txtOpenSubtitlePassword', page).val('');
|
||||||
|
|
||||||
|
populateLanguages(page, config, languages);
|
||||||
|
|
||||||
Dashboard.hideLoadingMsg();
|
Dashboard.hideLoadingMsg();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function populateLanguages(page, config, languages) {
|
||||||
|
|
||||||
|
var html = '<div data-role="controlgroup" data-corners="false" style="margin:0;">';
|
||||||
|
|
||||||
|
for (var i = 0, length = languages.length; i < length; i++) {
|
||||||
|
|
||||||
|
var culture = languages[i];
|
||||||
|
|
||||||
|
var id = "chkSubtitleLanguage" + i;
|
||||||
|
|
||||||
|
html += '<label style="font-size:13px;" for="' + id + '">' + culture.DisplayName + '</label>';
|
||||||
|
html += '<input class="chkLang" data-lang="' + culture.ThreeLetterISOLanguageName.toLowerCase() + '" type="checkbox" id="' + id + '" />';
|
||||||
|
}
|
||||||
|
|
||||||
|
html += '</div>';
|
||||||
|
|
||||||
|
$('.downloadLanguages', page).html(html).trigger("create");
|
||||||
|
|
||||||
|
var langs = config.SubtitleOptions.DownloadLanguages || [];
|
||||||
|
|
||||||
|
$('.chkLang', page).each(function () {
|
||||||
|
|
||||||
|
this.checked = langs.indexOf(this.getAttribute('data-lang')) != -1;
|
||||||
|
|
||||||
|
}).checkboxradio('refresh');
|
||||||
|
}
|
||||||
|
|
||||||
$(document).on('pageshow', "#metadataSubtitlesPage", function () {
|
$(document).on('pageshow', "#metadataSubtitlesPage", function () {
|
||||||
|
|
||||||
Dashboard.showLoadingMsg();
|
Dashboard.showLoadingMsg();
|
||||||
|
@ -20,7 +49,7 @@
|
||||||
var page = this;
|
var page = this;
|
||||||
|
|
||||||
var promise1 = ApiClient.getServerConfiguration();
|
var promise1 = ApiClient.getServerConfiguration();
|
||||||
var promise2 = ApiClient.getSystemInfo();
|
var promise2 = ApiClient.getCultures();
|
||||||
|
|
||||||
$.when(promise1, promise2).done(function (response1, response2) {
|
$.when(promise1, promise2).done(function (response1, response2) {
|
||||||
|
|
||||||
|
@ -55,6 +84,12 @@
|
||||||
|
|
||||||
config.SubtitleOptions.OpenSubtitlesPasswordHash = $('#txtOpenSubtitlePassword', form).val();
|
config.SubtitleOptions.OpenSubtitlesPasswordHash = $('#txtOpenSubtitlePassword', form).val();
|
||||||
|
|
||||||
|
config.SubtitleOptions.DownloadLanguages = $('.chkLang:checked', form).get().map(function (c) {
|
||||||
|
|
||||||
|
return c.getAttribute('data-lang');
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
ApiClient.updateServerConfiguration(config).done(Dashboard.processServerConfigurationUpdateResult);
|
ApiClient.updateServerConfiguration(config).done(Dashboard.processServerConfigurationUpdateResult);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue