define(["loading", "libraryMenu", "dom", "emby-input", "emby-button"], function (loading, libraryMenu, dom) { "use strict"; function load(page, device, deviceOptions) { page.querySelector("#txtCustomName", page).value = deviceOptions.CustomName || ""; page.querySelector(".reportedName", page).innerHTML = device.Name || ""; } function loadData() { var page = this; loading.show(); var id = getParameterByName("id"); var promise1 = ApiClient.getJSON(ApiClient.getUrl("Devices/Info", { Id: id })); var promise2 = ApiClient.getJSON(ApiClient.getUrl("Devices/Options", { Id: id })); Promise.all([promise1, promise2]).then(function (responses) { load(page, responses[0], responses[1]); loading.hide(); }); } function save(page) { var id = getParameterByName("id"); ApiClient.ajax({ url: ApiClient.getUrl("Devices/Options", { Id: id }), type: "POST", data: JSON.stringify({ CustomName: page.querySelector("#txtCustomName").value }), contentType: "application/json" }).then(Dashboard.processServerConfigurationUpdateResult); } function onSubmit(e) { var form = this; save(dom.parentWithClass(form, "page")); e.preventDefault(); return false; } return function (view, params) { view.querySelector("form").addEventListener("submit", onSubmit); view.addEventListener("viewshow", loadData); }; });