define(["jQuery", "globalize", "loading", "libraryMenu", "listViewStyle", "emby-button"], function ($, globalize, loading, libraryMenu) { "use strict"; function loadProfiles(page) { loading.show(); ApiClient.getJSON(ApiClient.getUrl("Dlna/ProfileInfos")).then(function (result) { renderUserProfiles(page, result); renderSystemProfiles(page, result); loading.hide(); }); } function renderUserProfiles(page, profiles) { renderProfiles(page, page.querySelector(".customProfiles"), profiles.filter(function (p) { return "User" == p.Type; })); } function renderSystemProfiles(page, profiles) { renderProfiles(page, page.querySelector(".systemProfiles"), profiles.filter(function (p) { return "System" == p.Type; })); } function renderProfiles(page, element, profiles) { var html = ""; if (profiles.length) { html += '
'; } for (var i = 0, length = profiles.length; i < length; i++) { var profile = profiles[i]; html += '
'; html += ''; html += '"; if ("User" == profile.Type) { html += ''; } html += "
"; } if (profiles.length) { html += "
"; } element.innerHTML = html; $(".btnDeleteProfile", element).on("click", function () { var id = this.getAttribute("data-profileid"); deleteProfile(page, id); }); } function deleteProfile(page, id) { require(["confirm"], function (confirm) { confirm(globalize.translate("MessageConfirmProfileDeletion"), globalize.translate("HeaderConfirmProfileDeletion")).then(function () { loading.show(); ApiClient.ajax({ type: "DELETE", url: ApiClient.getUrl("Dlna/Profiles/" + id) }).then(function () { loading.hide(); loadProfiles(page); }); }); }); } function getTabs() { return [{ href: "dlnasettings.html", name: globalize.translate("TabSettings") }, { href: "dlnaprofiles.html", name: globalize.translate("TabProfiles") }]; } $(document).on("pageshow", "#dlnaProfilesPage", function () { libraryMenu.setTabs("dlna", 1, getTabs); loadProfiles(this); }); });