EmbyCrackedClient/web/users/accesstab.js

1 line
8.5 KiB
JavaScript
Raw Normal View History

2025-06-25 11:46:04 +08:00
import globalize from"./../modules/common/globalize.js";import loading from"./../modules/loading/loading.js";import BaseTab from"./../modules/tabbedview/basetab.js";import formHelper from"./../modules/common/responsehelper.js";import"./../modules/emby-elements/emby-checkbox/emby-checkbox.js";import"./../modules/emby-elements/emby-button/emby-button.js";import"./../modules/emby-elements/emby-button/paper-icon-button-light.js";import"./../modules/emby-elements/emby-select/emby-select.js";import"./../modules/emby-elements/emby-scroller/emby-scroller.js";import"./../modules/emby-elements/emby-itemscontainer/emby-itemscontainer.js";function triggerChange(select){var evt=document.createEvent("HTMLEvents");evt.initEvent("change",!1,!0),select.dispatchEvent(evt)}function getSubFoldersHtml(user,folder,subFolders,folderEnabled){let html="";var excludedSubFolders=user.Policy.ExcludedSubFolders||[],folderId=folder.Guid||folder.Id;let hide=0<subFolders.length;for(let i=0,length=subFolders.length;i<length;i++)if(!1!==subFolders[i].IsUserAccessConfigurable){hide=!1;break}for(let i=0,length=subFolders.length;i<length;i++){var subFolder=subFolders[i],idValue=folderId+"_"+subFolder.Id,altIdValue=folderId+"_"+(subFolder.Guid||subFolder.Id),altIdValue=user.Policy.EnableAllFolders||folderEnabled&&!excludedSubFolders.includes(idValue)&&!excludedSubFolders.includes(altIdValue),className=hide||!1===subFolder.IsUserAccessConfigurable?' class="hide"':"";html+='<label style="margin: .5em 0 .5em 2.5em;"'+className+'><input type="checkbox" is="emby-checkbox" class="chkSubFolder" data-folderid="'+folderId+'" data-id="'+idValue+'" '+(altIdValue?' checked="checked"':"")+(!1===subFolder.IsUserAccessConfigurable?" disabled":"")+"><span>"+subFolder.Path+"</span></label>"}return html}function renderMediaFolders(page,user,mediaFolders){let html="";html=html+('<h3 class="checkboxListLabel">'+globalize.translate("Libraries"))+'</h3><div class="checkboxList>';for(let i=0,length=mediaFolders.length;i<length;i++){var folder=mediaFolders[i],folderId=folder.Guid||folder.Id,isChecked=user.Policy.EnableAllFolders||user.Policy.EnabledFolders.includes(folderId);html=(html=(html+='<div class="checkboxList" style="margin:0 0 1.5em;">')+('<label><input type="checkbox" is="emby-checkbox" class="chkFolder" data-id="'+folderId+'" '+(isChecked?' checked="checked"':"")+(!1===folder.IsUserAccessConfigurable?" disabled":"")+'><span><h3 style="margin:0;">'+folder.Name+"</h3></span></label>"))+getSubFoldersHtml(user,folder,folder.SubFolders||[],isChecked)+"</div>"}html+="</div>",page.querySelector(".folderAccess").innerHTML=html;page=page.querySelector(".chkEnableAllFolders");page.checked=user.Policy.EnableAllFolders,triggerChange(page)}function loadChannels(page,user,channels){let html="";for(let i=0,length=channels.length;i<length;i++){var folder=channels[i],folderId=folder.Guid||folder.Id,isChecked=user.Policy.EnableAllChannels||user.Policy.EnabledChannels.includes(folderId);html+='<label><input type="checkbox" is="emby-checkbox" class="chkChannel" data-id="'+folderId+'" '+(isChecked?' checked="checked"':"")+"><span>"+folder.Name+"</span></label>"}page.querySelector(".channelAccess").innerHTML=html,channels.length?page.querySelector(".channelAccessContainer").classList.remove("hide"):page.querySelector(".channelAccessContainer").classList.add("hide"),page.querySelector(".chkEnableAllChannels").checked=user.Policy.EnableAllChannels,triggerChange(page.querySelector(".chkEnableAllChannels"))}function loadDevices(page,user,devices){let html="";for(let i=0,length=devices.length;i<length;i++){var device=devices[i],deviceId=device.ReportedDeviceId||device.Id,checkedAttribute=user.Policy.EnableAllDevices||(user.Policy.EnabledDevices||[]).includes(deviceId)?' checked="checked"':"";html+='<label><input type="checkbox" is="emby-checkbox" class="chkDevice" data-id="'+deviceId+'" '+checkedAttribute+"><span>"+device.Name+" - "+device.AppName+"</span></label>"}page.querySelector(".deviceAccess").innerHTML=html,page.querySelector(".chkEnableAllDevices").checked=user.Policy.EnableAllDevices,t