define(["jQuery", "dom", "loading", "libraryMenu", "globalize", "listViewStyle"], function($, dom, loading, libraryMenu, globalize) { "use strict"; function populateLanguages(select) { return ApiClient.getCultures().then(function(languages) { var html = ""; html += ""; for (var i = 0, length = languages.length; i < length; i++) { var culture = languages[i]; html += ""; } select.innerHTML = html; }); } function populateCountries(select) { return ApiClient.getCountries().then(function(allCountries) { var html = ""; html += ""; for (var i = 0, length = allCountries.length; i < length; i++) { var culture = allCountries[i]; html += ""; } select.innerHTML = html; }); } function loadPage(page) { var promises = [ApiClient.getServerConfiguration(), populateLanguages(page.querySelector("#selectLanguage")), populateCountries(page.querySelector("#selectCountry"))]; Promise.all(promises).then(function(responses) { var config = responses[0]; page.querySelector("#selectLanguage").value = config.PreferredMetadataLanguage || "", page.querySelector("#selectCountry").value = config.MetadataCountryCode || "", loading.hide(); }); } function onSubmit() { var form = this; return loading.show(), ApiClient.getServerConfiguration().then(function(config) { config.PreferredMetadataLanguage = form.querySelector("#selectLanguage").value, config.MetadataCountryCode = form.querySelector("#selectCountry").value, ApiClient.updateServerConfiguration(config).then(Dashboard.processServerConfigurationUpdateResult); }), !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") }]; } $(document).on("pageinit", "#metadataImagesConfigurationPage", function() { $(".metadataImagesConfigurationForm").off("submit", onSubmit).on("submit", onSubmit); }).on("pageshow", "#metadataImagesConfigurationPage", function() { libraryMenu.setTabs("metadata", 2, getTabs), loading.show(), loadPage(this); }); });