EmbyCrackedClient/web/users/usernew.js

1 line
6.3 KiB
JavaScript
Raw Normal View History

2025-06-25 11:46:04 +08:00
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<length;i++){var folder=mediaFolders[i];let containerClassName="";var disabledAttribute=!1===folder.IsUserAccessConfigurable?" disabled":"",folderId=(!1===folder.IsUserAccessConfigurable&&(containerClassName+=' class="hide"'),folder.Guid||folder.Id);html+="<label"+containerClassName+'><input type="checkbox" is="emby-checkbox" class="chkFolder" data-id="'+folderId+'" checked="checked"'+disabledAttribute+"/><span>"+folder.Name+"</span></label>"}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<length;i++){var folder=channels[i],folderId=folder.Guid||folder.Id;html+='<label><input type="checkbox" is="emby-checkbox" class="chkChannel" data-id="'+folderId+'" checked="checked"/><span>'+folder.Name+"</span></label>"}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,