define(["exports","./../modules/common/globalize.js","./../modules/loading/loading.js","./../modules/focusmanager.js","./../modules/formhelper.js","./../modules/emby-elements/emby-checkbox/emby-checkbox.js","./../modules/emby-elements/emby-button/emby-button.js","./../modules/emby-elements/emby-button/paper-icon-button-light.js","./../modules/emby-elements/emby-select/emby-select.js","./../modules/emby-elements/emby-scroller/emby-scroller.js","./../modules/emby-elements/emby-itemscontainer/emby-itemscontainer.js"],function(_exports,_globalize,_loading,_focusmanager,_formhelper,_embyCheckbox,_embyButton,_paperIconButtonLight,_embySelect,_embyScroller,_embyItemscontainer){function showAlert(options){Emby.importModule("./modules/common/dialogs/alert.js").then(function(alert){return alert(options)})}function loadUser(page,params,apiClient,autoFocus){params=params.userId;apiClient.getUser(params).then(function(user){apiClient.getCurrentUser().then(function(loggedInUser){var btnResetPassword=page.querySelector(".btnResetPassword"),showLocalAccessSection=!1;user.HasConfiguredPassword?(user.Policy.IsAdministrator||apiClient.isMinServerVersion("4.8.0.38")?btnResetPassword&&btnResetPassword.classList.add("hide"):btnResetPassword&&btnResetPassword.classList.remove("hide"),apiClient.isMinServerVersion("4.8.0.38")?page.querySelector(".fldCurrentPassword").classList.add("hide"):page.querySelector(".fldCurrentPassword").classList.remove("hide"),showLocalAccessSection=!apiClient.isMinServerVersion("4.8.0.40")):(btnResetPassword&&btnResetPassword.classList.add("hide"),page.querySelector(".fldCurrentPassword").classList.add("hide")),user.Policy.IsAdministrator&&apiClient.isMinServerVersion("4.8.0.38")?(page.querySelector(".txtNewPassword").setAttribute("required","required"),page.querySelector(".txtNewPasswordConfirm").setAttribute("required","required")):(page.querySelector(".txtNewPassword").removeAttribute("required"),page.querySelector(".txtNewPasswordConfirm").removeAttribute("required")),loggedInUser.Policy.IsAdministrator||user.Policy.EnableUserPreferenceAccess?page.querySelector(".passwordSection").classList.remove("hide"):page.querySelector(".passwordSection").classList.add("hide"),showLocalAccessSection&&(loggedInUser.Policy.IsAdministrator||user.Policy.EnableUserPreferenceAccess)?page.querySelector(".localAccessSection").classList.remove("hide"):page.querySelector(".localAccessSection").classList.add("hide"),page.querySelector(".txtInNetworkPassword").value="",user.Configuration.EnableLocalPassword?user.HasConfiguredEasyPassword?page.querySelector(".selectInNetworkPasswordMode").value="pin":page.querySelector(".selectInNetworkPasswordMode").value="nopassword":page.querySelector(".selectInNetworkPasswordMode").value="password",onInNetworkPasswordModeChange.call(page.querySelector(".selectInNetworkPasswordMode")),autoFocus&&_focusmanager.default.autoFocus(page,{skipIfNotEnabled:!0})})}),page.querySelector(".txtCurrentPassword").value="",page.querySelector(".txtNewPassword").value="",page.querySelector(".txtNewPasswordConfirm").value=""}function onInNetworkPasswordModeChange(e){var form=this.closest("FORM"),txtEasyPassword=form.querySelector(".txtInNetworkPassword");"pin"===this.value?(form.querySelector(".fldInNetworkPassword").classList.remove("hide"),txtEasyPassword.setAttribute("required","required")):(form.querySelector(".fldInNetworkPassword").classList.add("hide"),txtEasyPassword.removeAttribute("required"))}function savePassword(instance){var view=instance.view,params=instance.params,apiClient=instance.apiClient,userId=params.userId;apiClient.getUser(userId).then(function(user){var currentPassword="",user=(user.HasConfiguredPassword&&(currentPassword=view.querySelector(".txtCurrentPassword").value),view.querySelector(".txtNewPassword").value);apiClient.updateUserPassword(userId,currentPassword,user).then(function(){var options;_loading.default.hide(),options=_globalize.default.translate("PasswordSaved"),Emby.importModule("./modules/toast/toast.js").then(function(toast){return toast(options)}),loadUser(view,params,apiClient)},function(){_loading.default.hide(),showAlert({title:_globalize.default.translate("HeaderSignInError"),text:_globalize.default.translate("MessageInvalidUser")})})})}function onLocalAccessSaved(instance){var view=instance.view,params=instance.params,instance=instance.apiClient;_loading.default.hide(),_formhelper.default.handleConfigurationSavedResponse(),loadUser(view,params,instance)}function resetPassword(){var options,view=this.view,params=this.params,apiClient=this.apiClient;options=_globalize.default.translate("PasswordResetConfirmation"),_globalize.default.translate("HeaderResetPassword"),Emby.importModule("./modules/common/dialogs/confirm.js").then(function(confirm){return confirm(options)}).then(function(){var userId=params.userId;_loading.default.show(),apiClient.resetUserPassword(userId).then(function(){_loading.default.hide(),showAlert({text:_globalize.default.translate("PasswordResetComplete"),title:_globalize.default.translate("HeaderPasswordReset")}),loadUser(view,params,apiClient)})})}function UserPasswordController(view,params,apiClient){this.view=view,this.params=params,this.apiClient=apiClient,view.querySelector(".updatePasswordForm").addEventListener("submit",function(e){var form=e.target.closest("form");return form.querySelector(".txtNewPassword").value!==form.querySelector(".txtNewPasswordConfirm").value?showAlert(_globalize.default.translate("ErrorMessagePasswordNotMatchConfirm")):(_loading.default.show(),savePassword(this)),e.preventDefault(),!1}.bind(this)),view.querySelector(".localAccessForm").addEventListener("submit",function(e){var instance=this,view=instance.view,params=instance.params,apiClient=instance.apiClient,userId=(_loading.default.show(),params.userId),mode=view.querySelector(".selectInNetworkPasswordMode").value;return apiClient.getUser(userId).then(function(user){user.Configuration.EnableLocalPassword="password"!==mode,apiClient.updateUserConfiguration(user.Id,user.Configuration).then(function(){var easyPw;"password"===mode?onLocalAccessSaved(instance):(easyPw="nopassword"===mode?"":view.querySelector(".txtInNetworkPassword").value,apiClient.updateEasyPassword(userId,easyPw).then(function(){onLocalAccessSaved(instance)}))})}),e.preventDefault(),!1}.bind(this)),view.querySelector(".selectInNetworkPasswordMode").addEventListener("change",onInNetworkPasswordModeChange);for(var apiClient=view.querySelector(".btnResetPassword"),btns=(apiClient&&apiClient.addEventListener("click",resetPassword.bind(this)),view.querySelectorAll(".userEditTabButton")),i=0,length=btns.length;i