mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
94 lines
No EOL
4.9 KiB
JavaScript
94 lines
No EOL
4.9 KiB
JavaScript
define(["jQuery", "loading", "libraryMenu", "fnchecked", "emby-checkbox", "emby-linkbutton"], function($, loading, libraryMenu) {
|
|
"use strict";
|
|
|
|
function loadPage(page, config) {
|
|
config.MergeMetadataAndImagesByName ? $(".fldImagesByName", page).hide() : $(".fldImagesByName", page).show(), $("#chkSaveMetadataHidden", page).checked(config.SaveMetadataHidden), $("#txtMetadataPath", page).val(config.MetadataPath || ""), $("#txtMetadataNetworkPath", page).val(config.MetadataNetworkPath || ""), loading.hide()
|
|
}
|
|
|
|
function loadMetadataConfig(page, config) {
|
|
$("#selectDateAdded", page).val(config.UseFileCreationTimeForDateAdded ? "1" : "0")
|
|
}
|
|
|
|
function loadFanartConfig(page, config) {
|
|
$("#txtFanartApiKey", page).val(config.UserApiKey || "")
|
|
}
|
|
|
|
function saveFanart(form) {
|
|
ApiClient.getNamedConfiguration("fanart").then(function(config) {
|
|
config.UserApiKey = $("#txtFanartApiKey", form).val(), ApiClient.updateNamedConfiguration("fanart", config)
|
|
})
|
|
}
|
|
|
|
function saveMetadata(form) {
|
|
ApiClient.getNamedConfiguration("metadata").then(function(config) {
|
|
config.UseFileCreationTimeForDateAdded = "1" === $("#selectDateAdded", form).val(), ApiClient.updateNamedConfiguration("metadata", config)
|
|
})
|
|
}
|
|
|
|
function alertText(options) {
|
|
require(["alert"], function(alert) {
|
|
alert(options)
|
|
})
|
|
}
|
|
|
|
function onSubmitFail(response) {
|
|
loading.hide(), response && 404 === response.status ? alertText("The metadata path entered could not be found. Please ensure the path is valid and try again.") : response && 500 === response.status && alertText("The metadata path entered is not valid. Please ensure the path exists and that Emby server has write access to the folder.")
|
|
}
|
|
|
|
function onSubmit() {
|
|
loading.show();
|
|
var form = this;
|
|
return ApiClient.getServerConfiguration().then(function(config) {
|
|
config.SaveMetadataHidden = $("#chkSaveMetadataHidden", form).checked(), config.EnableTvDbUpdates = $("#chkEnableTvdbUpdates", form).checked(), config.EnableTmdbUpdates = $("#chkEnableTmdbUpdates", form).checked(), config.EnableFanArtUpdates = $("#chkEnableFanartUpdates", form).checked(), config.MetadataPath = $("#txtMetadataPath", form).val(), config.MetadataNetworkPath = $("#txtMetadataNetworkPath", form).val(), config.FanartApiKey = $("#txtFanartApiKey", form).val(), ApiClient.updateServerConfiguration(config).then(Dashboard.processServerConfigurationUpdateResult, onSubmitFail)
|
|
}), saveMetadata(form), saveFanart(form), !1
|
|
}
|
|
|
|
function getTabs() {
|
|
return [{
|
|
href: "library.html",
|
|
name: Globalize.translate("HeaderLibraries")
|
|
}, {
|
|
href: "librarydisplay.html",
|
|
name: Globalize.translate("TabDisplay")
|
|
}, {
|
|
href: "metadataimages.html",
|
|
name: Globalize.translate("TabMetadata")
|
|
}, {
|
|
href: "metadatanfo.html",
|
|
name: Globalize.translate("TabNfoSettings")
|
|
}, {
|
|
href: "librarysettings.html",
|
|
name: Globalize.translate("TabAdvanced")
|
|
}]
|
|
}
|
|
return function(view, params) {
|
|
$("#btnSelectMetadataPath", view).on("click.selectDirectory", function() {
|
|
require(["directorybrowser"], function(directoryBrowser) {
|
|
var picker = new directoryBrowser;
|
|
picker.show({
|
|
path: $("#txtMetadataPath", view).val(),
|
|
networkSharePath: $("#txtMetadataNetworkPath", view).val(),
|
|
callback: function(path, networkPath) {
|
|
path && ($("#txtMetadataPath", view).val(path), $("#txtMetadataNetworkPath", view).val(networkPath)), picker.close()
|
|
},
|
|
validateWriteable: !0,
|
|
header: Globalize.translate("HeaderSelectMetadataPath"),
|
|
instruction: Globalize.translate("HeaderSelectMetadataPathHelp"),
|
|
enableNetworkSharePath: !0
|
|
})
|
|
})
|
|
}), $(".librarySettingsForm").off("submit", onSubmit).on("submit", onSubmit), view.addEventListener("viewshow", function() {
|
|
libraryMenu.setTabs("librarysetup", 4, getTabs), loading.show();
|
|
var page = this;
|
|
ApiClient.getServerConfiguration().then(function(config) {
|
|
loadPage(page, config)
|
|
}), ApiClient.getNamedConfiguration("metadata").then(function(metadata) {
|
|
loadMetadataConfig(page, metadata)
|
|
}), ApiClient.getNamedConfiguration("fanart").then(function(metadata) {
|
|
loadFanartConfig(page, metadata)
|
|
}), ApiClient.getSystemInfo().then(function(info) {
|
|
"Windows" === info.OperatingSystem ? page.querySelector(".fldSaveMetadataHidden").classList.remove("hide") : page.querySelector(".fldSaveMetadataHidden").classList.add("hide")
|
|
})
|
|
})
|
|
}
|
|
}); |