define(["appSettings", "apphost", "emby-checkbox", "emby-select", "emby-input"], function(appSettings, appHost) { "use strict"; function loadForm(page, user) { page.querySelector("#txtSyncPath").value = appSettings.syncPath() || "", page.querySelector("#chkWifi").checked = appSettings.syncOnlyOnWifi(), page.querySelector(".selectAudioBitrate").value = appSettings.maxStaticMusicBitrate() || "" } function saveUser(page) { var syncPath = page.querySelector("#txtSyncPath").value; appSettings.syncPath(syncPath), appSettings.syncOnlyOnWifi(page.querySelector("#chkWifi").checked), appSettings.maxStaticMusicBitrate(page.querySelector(".selectAudioBitrate").value || null), require(["localsync"], function(localSync) { localSync.sync() }) } return function(view, params) { view.querySelector("form").addEventListener("submit", function(e) { return saveUser(view), e.preventDefault(), !1 }), view.querySelector("#btnSelectSyncPath").addEventListener("click", function() { require(["nativedirectorychooser"], function() { NativeDirectoryChooser.chooseDirectory().then(function(path) { path && (view.querySelector("#txtSyncPath").value = path) }) }) }), view.addEventListener("viewshow", function() { var page = this, userId = getParameterByName("userId") || Dashboard.getCurrentUserId(); ApiClient.getUser(userId).then(function(user) { loadForm(page, user) }), appHost.supports("customsyncpath") ? page.querySelector(".fldSyncPath").classList.remove("hide") : page.querySelector(".fldSyncPath").classList.add("hide") }), view.addEventListener("viewbeforehide", function() { saveUser(this) }) } });