import BaseView from"./../modules/viewmanager/baseview.js";import loading from"./../modules/loading/loading.js";import appRouter from"./../modules/approuter.js";import formHelper from"./../modules/common/responsehelper.js";import"./../modules/emby-elements/emby-input/emby-input.js";import"./../modules/emby-elements/emby-button/emby-button.js";import"./../modules/emby-elements/emby-checkbox/emby-checkbox.js";import"./../modules/emby-elements/emby-select/emby-select.js";function showAlert(options){return Emby.importModule("./modules/common/dialogs/alert.js").then(function(alert){return alert(options)})}function loadMediaFolders(page,mediaFolders){let html="";for(let i=0,length=mediaFolders.length;i"+folder.Name+""}page.querySelector(".folderAccess").innerHTML=html,page.querySelector(".chkEnableAllFolders").checked=!0,page.querySelector(".chkEnableAllFolders").dispatchEvent(new CustomEvent("change",{bubbles:!0,cancelable:!1}))}function loadChannels(page,channels){let html="";for(let i=0,length=channels.length;i'+folder.Name+""}var channelAccessList=page.querySelector(".channelAccess");channelAccessList.innerHTML=html,channelAccessList.classList.remove("hide"),channels.length?page.querySelector(".channelAccessContainer").classList.add("channelAccessContainer-hasChannels"):page.querySelector(".channelAccessContainer").classList.remove("channelAccessContainer-hasChannels"),page.querySelector(".chkEnableAllChannels").checked=!0,page.querySelector(".chkEnableAllChannels").dispatchEvent(new CustomEvent("change",{bubbles:!0,cancelable:!1}))}function loadUser(page){page.querySelector(".txtUserName").value="",loading.show();var promise4=ApiClient.getJSON(ApiClient.getUrl("Library/SelectableMediaFolders",{IsHidden:!1})),promise5=ApiClient.getJSON(ApiClient.getUrl("Channels"));Promise.all([promise4,promise5]).then(function(responses){loadMediaFolders(page,responses[0]),loadChannels(page,responses[1].Items),page.querySelector(".selectCopyFromUser").setValues([],!0,[{Id:"",Name:""}]),loading.hide()})}function onCreateUserComplete(page,user){appRouter.show("users/user?userId="+user.Id)}function saveUser(page){var createOptions={Name:page.querySelector(".txtUserName").value};let copyFromUserId=page.querySelector(".selectCopyFromUser").value;var userCopyOptions=[];page.querySelector(".chkCopyUserPolicy").checked&&userCopyOptions.push("UserPolicy"),page.querySelector(".chkCopyUserConfiguration").checked&&userCopyOptions.push("UserConfiguration"),copyFromUserId&&(createOptions.CopyFromUserId=copyFromUserId,createOptions.UserCopyOptions=userCopyOptions),ApiClient.createUser(createOptions).then(function(user){user.Policy.IsAdministrator=page.querySelector(".chkIsAdmin").checked,copyFromUserId||(user.Policy.EnableSubtitleManagement=user.Policy.IsAdministrator,user.Policy.EnableContentDeletion=user.Policy.IsAdministrator,user.Policy.EnableAllFolders=page.querySelector(".chkEnableAllFolders").checked,user.Policy.EnabledFolders=user.Policy.EnableAllFolders?[]:Array.prototype.filter.call(page.querySelectorAll(".chkFolder"),function(i){return i.checked}).map(function(i){return i.getAttribute("data-id")}),user.Policy.EnableAllChannels=page.querySelector(".chkEnableAllChannels").checked,user.Policy.EnabledChannels=user.Policy.EnableAllChannels?[]:Array.prototype.filter.call(page.querySelectorAll(".chkChannel"),function(i){return i.checked}).map(function(i){return i.getAttribute("data-id")})),ApiClient.updateUserPolicy(user.Id,user.Policy).then(function(){onCreateUserComplete(page,user)})},function(response){if(loading.hide(),400!==response.status)return formHelper.handleErrorResponse(response);showAlert({text:page.querySelector(".labelNewUserNameHelp").innerHTML})})}function onSubmit(e){var page=this.closest(".page");return loading.show(),saveUser(page),e.preventDefault(),e.stopPropagation(),!1}function getUsers(query){return(query=Object.assign({SortBy:"SortName",SortOrder:"Ascending",EnableImages:!1},query)).StartIndex&&query.StartIndex--,this.getUsersQueryResult(query).then(function(result){return!query.StartIndex&&query.Limit&&result.Items.unshift({Name:"",Id:""}),!1!==query.EnableTotalRecordCount&&result.TotalRecordCount++,result})}function loadUsers(context,apiClient){context.querySelector(".selectCopyFromUser").getItems=getUsers.bind(apiClient)}function View(view,params){BaseView.apply(this,arguments),view.querySelector(".btnCancel").addEventListener("click",function(){appRouter.back()}),view.querySelector(".chkEnableAllChannels").addEventListener("change",function(){this.checked?view.querySelector(".channelAccess").classList.add("hide"):view.querySelector(".channelAccess").classList.remove("hide")}),view.querySelector(".chkEnableAllFolders").addEventListener("change",function(){this.checked?view.querySelector(".folderAccess").classList.add("hide"):view.querySelector(".folderAccess").classList.remove("hide")}),view.querySelector(".selectCopyFromUser").addEventListener("change",function(){var channelAccessContainer=view.querySelector(".channelAccessContainer");this.value?(view.querySelector(".folderAccessContainer").classList.add("hide"),channelAccessContainer.classList.add("hide"),view.querySelector(".copyOptionsContainer").classList.remove("hide")):(view.querySelector(".folderAccessContainer").classList.remove("hide"),view.querySelector(".copyOptionsContainer").classList.add("hide"),channelAccessContainer.classList.contains("channelAccessContainer-hasChannels")?channelAccessContainer.classList.remove("hide"):channelAccessContainer.classList.add("hide"))}),view.querySelector(".newUserProfileForm").addEventListener("submit",onSubmit),loadUsers(this.view,ApiClient)}Object.assign(View.prototype,BaseView.prototype),View.prototype.onResume=function(options){BaseView.prototype.onResume.apply(this,arguments),loadUser(this.view)};export default View;