import globalize from"./../modules/common/globalize.js";import layoutManager from"./../modules/layoutmanager.js";import focusManager from"./../modules/focusmanager.js";import loading from"./../modules/loading/loading.js";import dialogHelper from"./../modules/dialoghelper/dialoghelper.js";import"./../modules/emby-elements/emby-button/emby-button.js";import"./../modules/emby-elements/emby-itemscontainer/emby-itemscontainer.js";import"./../modules/emby-elements/emby-dialogclosebutton/emby-dialogclosebutton.js";import dom from"./../modules/dom.js";import cardBuilder from"./../modules/cardbuilder/cardbuilder.js";function getEditorHtml(){var html="";return html+'
'+'
'+'
'+'
'+("

"+globalize.translate("DetectingDevices")+"...

")+("

"+globalize.translate("MessagePleaseWait")+"

")+"
"+('

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

")+'
'+"
"+"
"+"
"+"
"}function getCardOptions(){return{enableDefaultIcon:!0,action:"custom",fields:["Name","Filename"],draggable:!1,multiSelect:!1,contextMenu:!1,hoverPlayButton:!1,imageSize:"Collection"===this.options.type||layoutManager.tv?"smaller":"small",enableUserDataButtons:!1,mediaInfo:!1,shape:"backdrop",textLinks:!1}}function getListOptions(){return{renderer:cardBuilder,options:getCardOptions.apply(this),virtualScrollLayout:"vertical-list"}}function afterItemsRefreshed(result){var items=result.Items||result,result=result.TotalRecordCount||items.length;loading.hide(),result?this.context.querySelector(".noItemsMessage").classList.add("hide"):this.context.querySelector(".noItemsMessage").classList.remove("hide")}function getTunerName(providerId){switch(providerId=providerId.toLowerCase()){case"m3u":return"M3U";case"hdhomerun":return"HDHomerun";case"hauppauge":return"Hauppauge";case"satip":return"DVB";default:return"Unknown"}}function getItems(query){loading.show();let instance=this;this.context.querySelector(".loadingContent").classList.remove("hide");var apiClient=ApiClient;let serverId=apiClient.serverId();return apiClient.getJSON(apiClient.getUrl("LiveTv/Tuners/Discvover",{NewDevicesOnly:!0})).then(function(items){instance.context.querySelector(".loadingContent").classList.add("hide");var totalRecordCount=items.length;return query?.StartIndex&&(items=items.slice(query.StartIndex)),query?.Limit&&(items.length=Math.min(query.Limit,items.length)),{TotalRecordCount:totalRecordCount,Items:items=items.map(function(item){return{Type:"GenericListItem",ServerId:serverId,Name:getTunerName(item.Type),Filename:item.FriendlyName,OriginalItem:item,Icon:""}})}})}function onItemAction(e){this.dialogResult=e.detail.item.OriginalItem,dialogHelper.close(this.context)}function autoFocus(){var context=this.context;focusManager.autoFocus(context,{skipIfNotEnabled:!0})}function onItemsContainerUpgraded(){this.itemsContainer.resume({refresh:!0}).then(autoFocus.bind(this))}function onOpened(){var itemsContainer=this.itemsContainer;itemsContainer.resume?onItemsContainerUpgraded.call(this):dom.addEventListener(itemsContainer,"upgraded",onItemsContainerUpgraded.bind(this),{once:!0})}function TunerPicker(){}require(["material-icons","formDialogStyle"]),TunerPicker.prototype.show=function(options){var dialogOptions={removeOnClose:!0,scrollY:!1},dialogOptions=(layoutManager.tv?dialogOptions.size="fullscreen":dialogOptions.size="fullscreen-border",dialogHelper.createDialog(dialogOptions)),html=(dialogOptions.classList.add("formDialog"),""),html=(html=(html=(html=(html=(html+='
')+''+'

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

"+"
")+getEditorHtml(),dialogOptions.innerHTML=html,dialogOptions.querySelector(".itemsContainer"));html.addEventListener("action-null",onItemAction.bind(this)),html.fetchData=getItems.bind(this),html.getListOptions=getListOptions.bind(this),html.afterRefresh=afterItemsRefreshed.bind(this),this.itemsContainer=html,this.context=dialogOptions,this.options=options,dialogOptions.addEventListener("opened",onOpened.bind(this));let instance=this;return dialogHelper.open(dialogOptions).then(function(){var result=instance.dialogResult;return instance.cleanup(),result?Promise.resolve(result):Promise.reject()})},TunerPicker.prototype.cleanup=function(){this.options=null,this.context=null,this.itemsContainer=null,this.dialogResult=null};export default TunerPicker;