1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00
jellyfin-web/src/controllers/dlnasettings.js

57 lines
2.6 KiB
JavaScript
Raw Normal View History

2020-03-26 14:25:16 +01:00
define(["jQuery", "loading", "libraryMenu", "fnchecked", "globalize"], function ($, loading, libraryMenu, globalize) {
2018-10-23 01:05:09 +03:00
"use strict";
function loadPage(page, config, users) {
page.querySelector("#chkEnablePlayTo").checked = config.EnablePlayTo;
page.querySelector("#chkEnableDlnaDebugLogging").checked = config.EnableDebugLog;
$("#txtClientDiscoveryInterval", page).val(config.ClientDiscoveryIntervalSeconds);
$("#chkEnableServer", page).checked(config.EnableServer);
$("#chkBlastAliveMessages", page).checked(config.BlastAliveMessages);
$("#txtBlastInterval", page).val(config.BlastAliveMessageIntervalSeconds);
var usersHtml = users.map(function (u) {
return '<option value="' + u.Id + '">' + u.Name + "</option>";
2018-10-23 01:05:09 +03:00
}).join("");
$("#selectUser", page).html(usersHtml).val(config.DefaultUserId || "");
loading.hide();
2018-10-23 01:05:09 +03:00
}
function onSubmit() {
loading.show();
var form = this;
ApiClient.getNamedConfiguration("dlna").then(function (config) {
config.EnablePlayTo = form.querySelector("#chkEnablePlayTo").checked;
config.EnableDebugLog = form.querySelector("#chkEnableDlnaDebugLogging").checked;
config.ClientDiscoveryIntervalSeconds = $("#txtClientDiscoveryInterval", form).val();
config.EnableServer = $("#chkEnableServer", form).checked();
config.BlastAliveMessages = $("#chkBlastAliveMessages", form).checked();
config.BlastAliveMessageIntervalSeconds = $("#txtBlastInterval", form).val();
config.DefaultUserId = $("#selectUser", form).val();
ApiClient.updateNamedConfiguration("dlna", config).then(Dashboard.processServerConfigurationUpdateResult);
});
return false;
2018-10-23 01:05:09 +03:00
}
function getTabs() {
return [{
href: "dlnasettings.html",
2020-03-26 14:25:16 +01:00
name: globalize.translate("TabSettings")
2018-10-23 01:05:09 +03:00
}, {
href: "dlnaprofiles.html",
2020-03-26 14:25:16 +01:00
name: globalize.translate("TabProfiles")
}];
2018-10-23 01:05:09 +03:00
}
$(document).on("pageinit", "#dlnaSettingsPage", function () {
$(".dlnaSettingsForm").off("submit", onSubmit).on("submit", onSubmit);
}).on("pageshow", "#dlnaSettingsPage", function () {
libraryMenu.setTabs("dlna", 0, getTabs);
loading.show();
var page = this;
var promise1 = ApiClient.getNamedConfiguration("dlna");
var promise2 = ApiClient.getUsers();
Promise.all([promise1, promise2]).then(function (responses) {
loadPage(page, responses[0], responses[1]);
});
});
});