import connectionManager from"./../emby-apiclient/connectionmanager.js";import"./../emby-elements/emby-button/emby-button.js";import"./../emby-elements/emby-select/emby-select.js";import"./../emby-elements/emby-scroller/emby-scroller.js";import"./../emby-elements/emby-itemscontainer/emby-itemscontainer.js";import"./../emby-elements/emby-dialogclosebutton/emby-dialogclosebutton.js";import dialogHelper from"./../dialoghelper/dialoghelper.js";import layoutManager from"./../layoutmanager.js";import dom from"./../dom.js";import globalize from"./../common/globalize.js";import focusManager from"./../focusmanager.js";import listView from"./../listview/listview.js";import itemShortcuts from"./../shortcuts.js";import formHelper from"./../common/responsehelper.js";function ItemAccessDialog(){}function getEditorHtml(options){let html="";html=(html+='
')+'
';options=options.item;return html=(html=(html+='
')+('")+'
'+"
")+'
'+'
')+('

'+globalize.translate("User"))+"

")+('

'+globalize.translate("Access")))+"

"+"
")+'
'+"
")+"
"+"
")+"
"+"
"}function autoFocus(){var dlg=this.dlg;focusManager.autoFocus(dlg,{skipIfNotEnabled:!0})}function onDialogClosed(){return this.result?(this.cleanup(),Promise.resolve()):(this.cleanup(),Promise.reject())}function onItemAction(e){layoutManager.tv&&e.target.closest(".listItem").querySelector("select").click()}function onAllItemsContainerUpgraded(){this.itemsContainer.resume({refresh:!0}).then(autoFocus.bind(this))}function onOpened(){var itemsContainer=this.itemsContainer;itemsContainer.resume?onAllItemsContainerUpgraded.call(this):dom.addEventListener(itemsContainer,"upgraded",onAllItemsContainerUpgraded.bind(this),{once:!0})}function onVisibilityChange(e){let instance=this,options=instance.options;var item=options.item;let apiClient=connectionManager.getApiClient(item);e=e.target.value;let promise;return(promise="public"===e?apiClient.makePublic(item.Id):apiClient.makePrivate(item.Id)).then(function(){return apiClient.getItem(apiClient.getCurrentUserId(),options.item.Id,{fields:"ShareLevel",ExcludeFields:"Chapters,MediaSources,MediaStreams,People,Overview,Subviews"}).then(function(item){options.item=item,instance.itemsContainer.refreshItems()})})}function onUserAccessChange(e){var item=this.options.item,e=e.target;let itemsContainer=this.itemsContainer;var itemElement=itemShortcuts.getItemElementFromChildNode(e,!1,itemsContainer),itemElement=itemsContainer.getItemFromElement(itemElement),e=e.value;connectionManager.getApiClient(itemElement).updateUserItemAccess({UserIds:[itemElement.Id],ItemIds:[item.Id],ItemAccess:e}).then(function(){itemsContainer.refreshItems()},formHelper.handleErrorResponse)}require(["material-icons","formDialogStyle"]),ItemAccessDialog.prototype.getItems=function(query){let instance=this;var options=instance.options,options=connectionManager.getApiClient(options.item);return options.isMinServerVersion("4.8.0.62")?(query=Object.assign({ItemId:instance.options.item.Id,ExcludeUserIds:options.getCurrentUserId()},query),options.getUsersForItemAccess(query).then(function(result){var itemAccessItem=instance.options.item,items=result.Items;for(let i=0,length=items.length;i')+'

',"Playlist"===item.Type?html+=globalize.translate("HeaderManageCollaboration"):html+=globalize.translate("HeaderManageAccess"),html=(html+="

")+getEditorHtml(options),dialogOptions.innerHTML=html;var selectVisibility=dialogOptions.querySelector(".selectVisibility"),selectVisibility=(selectVisibility.addEventListener("change",onVisibilityChange.bind(this)),selectVisibility.singleValue=item.CanMakePublic?"private":"public",this.dlg=dialogOptions,this.options=options,dialogOptions.querySelector(".allItemsContainer")),item=(selectVisibility.addEventListener("action-null",onItemAction.bind(this)),selectVisibility.fetchData=this.getItems.bind(this),selectVisibility.getListOptions=this.getListOptions.bind(this),selectVisibility.addEventListener("change",onUserAccessChange.bind(this)),selectVisibility.parentContainer=selectVisibility.closest(".userItemAccessContainer"),this.itemsContainer=selectVisibility,dialogOptions.addEventListener("opened",onOpened.bind(this)),onDialogClosed.bind(this));return dialogHelper.open(dialogOptions).then(item,item)},ItemAccessDialog.prototype.closeDialog=function(){var dlg=this.dlg;dlg&&dialogHelper.close(dlg)},ItemAccessDialog.prototype.cleanup=function(){this.listName=null,this.options=null,this.dlg=null,this.itemsContainer=null};export default ItemAccessDialog;